GN⁺: 1992년처럼 컴파일하자 (2014)
(fabiensanglard.net)파일 시스템 설정
- Wolfenstein 3D 소스 코드 컴파일을 위해 DOS 드라이브가 필요한 두 개의 폴더 생성.
다운로드
- Borland C++ 3.1 컴파일러, Wolfenstein 3D 소스 코드, VGA 파일 다운로드.
압축 해제
- 다운로드한 파일들을 압축 해제.
DosBox
- DosBox를 다운로드하고 시작.
파일 시스템 마운트
- 파일 시스템을 마운트하여 각 드라이브에 폴더 할당.
컴파일러 설치
- Borland C++ 3.1 설치 과정 진행.
Wolfenstein 3D 소스 코드 설치
- 컴파일러가 설치된 시스템에서 소스 코드 압축 해제.
컴파일 시작
- Borland C++ 3.1을 시작하여 프로젝트 오픈, 디렉토리 설정 후 컴파일 시도.
- TASM 실행 파일 누락 오류 발생, PATH 설정 후 재컴파일.
- 링킹 실패 오류 해결을 위해 프로젝트에서 오브젝트 파일 경로 수정 후 성공적으로 컴파일.
에셋 획득
- 게임 에셋을 위해 Wolfenstein 3D 공유 버전 다운로드 또는 전체 버전 구매.
- DosBox에서 게임 설치 후 컴파일한 실행 파일을 게임 폴더로 복사.
게임 실행
- 게임 실행 시도, 그래픽 파일 인덱스 문제로 인해 비정상적인 화면 출력.
- 문제 해결을 위해 VGA 에셋 파일을 소스 코드에 맞게 재생성된 파일로 교체.
VGA 프레임버퍼 및 화면 종횡비
- DosBox의 화면 종횡비 옵션을 조정하여 1992년 원본 게임 화면과 동일하게 조정.
GN⁺의 의견
- 이 기사는 고전 게임인 Wolfenstein 3D를 현대 시스템에서 컴파일하는 과정을 설명함. 이는 레트로 게임 개발에 관심 있는 초급 소프트웨어 엔지니어에게 흥미로운 내용일 수 있음.
- 기사에서는 구식 컴파일러와 에뮬레이터를 사용하여 오래된 코드를 다시 작동시키는 방법을 보여줌으로써, 소프트웨어의 역사적 가치 보존과 학습에 대한 중요성을 강조함.
- 현대 개발자들이 과거의 소프트웨어를 이해하고, 이를 통해 현재의 기술 발전에 대한 통찰력을 얻을 수 있는 기회를 제공함.
- 비판적인 시각에서 볼 때, 이러한 과정은 시간이 많이 소요되고, 때로는 현대적인 개발 환경과 호환되지 않는 문제를 겪을 수 있음.
- 이 기술을 도입할 때는 고전 게임의 소스 코드를 이해하고 수정할 수 있는 능력이 필요함.
- 이 기술을 선택함으로써 얻을 수 있는 득은 과거의 게임 개발 기술을 배울 수 있다는 점이고, 실은 현대적인 개발 환경과의 호환성 문제를 해결해야 한다는 점임.
Hacker News 의견
-
Wolfenstein 3D에 관한 책 추천
Wolfenstein 3D에 대한 책이 기술적이지만 지루하지 않으며, 오래된 학교의 트릭과 최적화 방법들이 많이 소개되어 있음. 벽 텍스처 스케일링을 위한 64개의 함수, 스프라이트를 "옆으로" 저장하는 방법, 복잡한 그래픽 카드 관리, 게임을 표시할 수 있도록 그래픽 모드 해킹 등이 포함됨.
-
레트로 시스템에서의 재미
레트로 시스템에서는 도구를 모아 다시 만들 수 있는 재미가 있음. 예를 들어, Uplink 게임을 재컴파일하는 데 Visual Studio 6.0만 있으면 됨. 개발 아카이브에는 게임을 빌드하는 데 필요한 모든 의존성이 포함되어 있어, 의존성을 수정하는 데 약간의 시간이 걸렸지만, 결국 게임이 잘 작동함. 몇 가지 작은 결함을 수정하고 여기저기 개선을 추가함.
-
DOS 기반의 텍스트 UI에 대한 향수
DOS 기반의 텍스트 UI가 그리움. 1997년까지 PS/2를 계속 사용했던 신뢰성 있는 시절을 회상함.
-
Borland Turbo C++에서의 프로그래밍 학습 경험
Borland Turbo C++에서 프로그래밍을 배웠던 경험. 화면에 그림을 그리기 위해 기하학적 모양 함수를 호출하는 것이 쉬웠음. 모양을 그린 후 xor 함수를 사용하면 애니메이션을 만들 수 있었음. 단 1000줄의 C++ 코드로 달리는 것처럼 보이는 작은 스프라이트를 만드는 것이 멋졌음. 친구들과 함께 이러한 트릭, 수작업으로 만든 스프라이트, 걸어 다닐 수 있는 게임 세계를 사용하여 파이널 판타지 스타일의 게임을 만듦.
-
Doom의 주인에 대한 책 읽기
"Master of Doom"이라는 책을 읽고, 당시에는 게임이 매우 흥미로웠지만, 역사를 돌아보며 몇몇 젊은이들이 만들어낸 것에 더욱 영감을 받음.
-
게임 개발에 대한 책의 추천
오래된 시절의 게임 개발에 대해 다시 생각하게 하는 훌륭한 책. 몇 년 전 식당 줄에서 기다리며 책을 다 읽었음.
-
하드 드라이브 없이 플로피 디스크 교환에 대한 추억
C 드라이브에 설치하는 것은 사치였음. 하드 드라이브가 없어서 A와 B 드라이브에서 플로피 디스크를 교환해야 했음. 그 시절을 즐겼지만, 요즘 아이들은 그런 이야기를 믿지 않음.
-
Borland의 MS-DOS IDE에 대한 달콤한 기억
Borland C++는 약 5메가바이트에 들어가는 C++ 컴파일러, 표준 라이브러리, 디버거가 포함된 IDE였으며, Borland의 특유한 노란색과 파란색 색상 스키마가 아늑했음.
-
관련 링크
"Let's compile like it's 1992 (2014)"라는 제목의 글과 관련된 링크 제공. 2017년 2월에 해커뉴스에 게시되었으며, 80개의 댓글이 있음.