1997년처럼 퀘이크를 컴파일하자
Source: Hacker News
2026년 2월 5일
순수주의자의 코너
역사적 정확성을 얼마나 중시하느냐에 따라 다음 네 가지 환경 중 하나를 선택해 단계를 진행할 수 있습니다:
- Intergraph RealizM Dual P6‑200 MHz workstation – 행운을 빕니다.
- Dual Pentium Pro machine – 역시 어려운 편이지만, W6‑LI를 찾는 것은 가능합니다.
- A regular late‑90s PC – 예: Quake PC.
- Oracle VirtualBox – 가상 머신을 생성합니다.
이 단계들은 Quake PC와 VirtualBox 모두에서 테스트했으며, Windows 98 SE 또는 Windows NT 4.0에서 실행했습니다.
Source: …
Windows NT 4 설치
Windows NT 4 설치는 CD가 부팅 가능하기 때문에 간단합니다. 설치 시간은 약 30 분 정도 걸렸습니다.
Windows NT 시작 화면이 얼마나 미니멀한지 정말 마음에 듭니다. 감지된 CPU 수(Windows 95/98은 하나만 지원)와 RAM 용량을 자랑스럽게 표시합니다. 별다른 애니메이션도 없습니다.
두 번째 CPU를 추가해도 자동으로 감지되지 않으며, SMP 시스템을 처리할 HAL을 얻기 위해 재설치해야 합니다. 듀얼‑CPU 마더보드도 마찬가지입니다. W6‑LI에서는 Pentium Pro 하나뿐 아니라 레귤레이터까지 필요합니다!
Windows NT 4는 Windows 9x와 동일한 UI 테마를 사용합니다. 최초 릴리스인 Windows NT 3은 Windows 3.1의 UI 요소를 사용했으며 끔찍하게 보였습니다링크.
Visual C++ 6 설치
Quake의 Win32 버전은 원래 Visual C++ 4.x(1996년 중반의 최신 Microsoft IDE)로 코딩되었습니다. 1999년에는 프로젝트가 Visual C++ 6으로 마이그레이션되었습니다. CD가 없으시다면 Internet Archive나 WinWorldPC에서 찾아볼 수 있습니다.
설치 화면
| 단계 | 스크린샷 |
|---|---|
| 1. Visual C++ 6 설치 프로그램 시작 | ![]() |
| 2. 제품 ID 입력 (‘항상‑온라인’ 인터넷 이전) | ![]() |
| 3. “Visual Studio” 브랜딩 (향후 Microsoft IDE) | ![]() |
| 4. UI 레이아웃 (640×480 또는 800×600에 맞게 설계) | ![]() |
| 5. 추가 화면 | ![]() |
소스 코드 받기
GitHub나 FTP를 통해 소스를 가져오지 마세요. 이렇게 하면 .dsw 워크스페이스 파일이 손상되어 VC++ 6이 조용히 실패합니다. 대신 원본 아카이브를 다운로드하십시오:
- q1source.zip – 이전에 id Software의 FTP 서버에 있었으며, 현재는 Jason Brownless가 유지하는 Quake Official Archive에 호스팅됩니다[2].

VM에 파일 전송하기
- 드래그‑앤‑드롭(가상 머신 사용 시).
- 또는 Quick ‘n Easy FTP Server를 사용하세요. 이 서버는 9x와 NT 모두에서 동작합니다.

아카이브 압축 풀기
WinRAR 2.50이 필요합니다(9x/NT에서도 여전히 작동).

VC++ 6으로 Quake 빌드하기
- Visual C++ 6을 실행합니다.
- File → Open Workspace… 를 선택하고
WinQuake.dsw파일을 엽니다.
Modern Visual Studio uses
.sln(Solution) and.vcxprojfiles, but VC++ 6 uses.dsp(project) and.dsw(workspace). The.dspcontains a single project; the.dswpoints to one or more.dspfiles.

- Build → Rebuild All 로 빌드를 시작합니다.

- 빌드가 처음에는 실패합니다. VC++ 6은 Michael Abrash가 작성한 손수 최적화한
.s파일을 어셈블할 수 없기 때문입니다.

- VC++ 6 Processor Pack 을 설치합니다 (여기에는 어셈블러
vcpp5.exe가 포함되어 있습니다).

팩을 설치한 뒤 다시 빌드하면 컴파일이 성공하고 고전적인 Win32 Quake 바이너리가 생성됩니다.
Processor Pack 설치 (MDAC 2.5 선행 조건)

물론 setupsp5.exe 를 실행하면 설치가 실패합니다. 이는 MDAC 2.5 를 먼저 설치해야 하기 때문입니다.
MDAC를 어디선가 다운로드하려고 한 시간은 낭비하지 마세요.
vs6spp5.exe가 자체 압축을 풀면서 만든 폴더에 있는 acmsetup.exe 를 실행하면 됩니다.
이제 다시 setupsp5.exe 를 실행합니다. 이번엔 정상적으로 동작합니다. 이제는 Monkey Island의 퍼즐을 푸는 느낌일 겁니다—무엇이 무슨 의미인지 모르겠고, 90년대로 완전히 빠져든 느낌이죠.
진척 바가 다소 작아졌지만, 그래도 진행 중입니다.
프로젝트를 VC++ 6 으로 다시 열고 “Rebuild All” 을 다시 실행합니다. 이번엔 정상적으로 동작해야 합니다.
맞아요! 이제 즐기시면 됩니다! QuakeWorld 도 빌드·실행할 수 있으며 QSpy 와도 동작합니다!
정말 좋은 IDE
VC++ 6은 1996년 기준으로는 놀라울 정도로 강력합니다. “Go to definition”, 브레이크포인트, 스택 트레이스, 변수 검사와 같은 기능을 제공하지만 아직 IntelliSense 자동 완성은 없습니다. 저는 직접 사용해 본 적은 없지만, 당시엔 꿈과도 같은 경험이었을 겁니다.
각주
[1] John Carmack, id Software 인터뷰, 1996.
[2] Jason Brownless, Quake Official Archive, 유지 관리 중인 .
참고 문헌
- (여기에 참고 문헌 목록이 들어갑니다)
















