최초의 FPS 게임 <울펜슈타인 3D> 엔진 개발의 모든 것
386 시절 PC 하드웨어는 파편화에 시달렸고 여러 한계가 존재했지만, 이드 소프트웨어는 이를 극복하고 <울펜슈타인 3D>로 FPS의 문을 활짝 열어젖혔다. 이 책은 <울펜슈타인 3D>가 만들어진 모든 과정을 밝히며 게임 엔진 소스를 낱낱이 파헤친다. 당시의 하드웨어와 개발 환경부터, 엔진 개발 중 직면한 다양한 문제와 해결 방안까지 체계적으로 정리했다. 전설이 된 개발자들이 온갖 제약 아래에서도 게임성을 높이기 위해 설계와 구현을 어떻게 했는지 생생히 확인할 수 있다.
[출판사 리뷰]
386의 한계를 극복하고 전설이 된 최초의 FPS <울펜슈타인 3D>
이드 소프트웨어 천재 개발자들의 엔진 개발 비법을 파헤치다
오래된 게임 개발자들 사이에선 CPU가 달린 기기를 보기만 하면 <울펜슈타인 3D>를 포팅할 수 있을지부터 떠올린다는 이야기가 있다. 당시로서 혁신적인 3D 게임플레이와 부드러운 애니메이션을 선보이며 FPS의 기념비적인 효시로 평가받는 이 게임의 탄생 뒤에는, 열악한 386 PC 하드웨어의 제약을 극복하기 위해 소프트웨어를 한계까지 밀어붙인 이드 소프트웨어의 천재 개발자들이 있었다.
이 책은 <울펜슈타인 3D>가 누구에 의해 어떻게 만들어졌는지 모든 과정을 낱낱이 공개하며, 수많은 그림과 함께 게임 엔진 소스를 파헤치고 분석한다. 당시 하드웨어와 개발 환경부터, 엔진 개발 중 직면한 다양한 문제와 해결 방안까지 체계적으로 정리했다. 더블 버퍼링 없는 VGA, 정수 연산만 가능한 CPU, 파편화된 사운드 카드 등 당시 386 PC 하드웨어에서 초당 70프레임을 뽑는 게임을 만들기란 지극히 어려웠다. 이드 소프트웨어 개발자들이 이러한 한계를 어떻게 극복하여 장점으로 승화했는지, 엔진 설계 결정과 개발 과정, 그리고 ‘트릭’에 가까운 프로그래밍 기법까지, 이 책은 모든 디테일을 정교하게 추적하고 기록했다.
주어진 제약 내에서 최대한의 성능을 이끌어내는 것은 모든 개발자의 과제다. 하드웨어가 아무리 발달해도 이 목마름은 멈추지 않는다. 심지어 사무기기에 불과했던 386에서 부드럽게 돌아가는 3D FPS를 꿈꿨던 사람들이 있다. 대화 상자 하나 띄우는 데에도 프레임워크의 온갖 보일러플레이트 코드에 매몰되는 오늘날, 우리는 게임 개발의 핵심이 무엇인지 잊고 있는 것은 아닐까? 불가능해 보이는 제약 속에서도 타협하지 않고 게임성을 높이기 위해 갖은 방법을 동원해 꿈을 현실로 만든 하드코어 개발자들의 개발 비법에서 통찰을 얻기 바란다.
[추천사]
초보 개발자가 읽기 좋은 훌륭한 책입니다. 현대 게임의 프로그래밍 방법은 가르쳐주지 않지만, 게임 엔진 전반에 대한 가치 있는 통찰력과 기초를 제공합니다. <울펜슈타인 3D>가 만들어졌을 때 PC는 사무용 비즈니스 기계일 뿐이었어요. 이드 소프트웨어는 <울펜슈타인 3D>를 만들기 위해 많은 기술을 개발하고 요령을 사용했고, 저자는 이 모든 비밀들을 조명합니다.
- Mr. J. MCCAFFERTY (아마존 독자)
그저 놀랍습니다! 어떻게 386 시대에 존재했던 수많은 장벽을 깨뜨리고 문제를 해결했는지 자세히 묘사한 책입니다. 이드 소프트웨어의 팀원들과 함께 게임을 개발하고 있는 듯한 기분이었죠. 이 책을 읽으면 1990년대의 FPS, 불가능에 가까웠던 게임 엔진에 대한 지식과 더 넓은 시야를 가질 수 있습니다.
- Chrism (아마존 독자)
<울펜슈타인 3D>는 물론이고 DOS의 모든 즐거움과 함께했던 어린 시절이 떠오릅니다. 그야말로 환상적이었던 추억의 게임을 뜯어보며 추억에 잠겼죠. 게임을 더 자세히 이해하고 깊이 느끼고 싶은 사람이라면 이 책을 읽으세요. <둠>에 대한 비법서도 코앞에 다가왔다고 기대하겠습니다.
- John (아마존 독자)
저자
파비앙 상글라르
15년 차 베테랑 개발자. 프랑스에서 컴퓨터 과학 석사학위를 취득했다. 영어를 배우러 캐나다에 갔다가 로저스(Rogers)와 퀵플레이(QuickPlay)를 거쳐 2014년부터 구글 본사에서 소프트웨어 엔지니어로 일한다.
역자
박재호
포항공과대학교 컴퓨터공학과 학부와 대학원을 졸업했다. 임베디드 시스템 개발, 기업용 백업 소프트웨어 개발, 방송국 콘텐츠 수신 제한 시스템 개발과 운영 지원, 클라우드에서 동작하는 서비스 개발에 이르기까지 다양한 실무 경험을 토대로 고성능 고가용성 시스템을 설계한다. 코스닥 상장사 엑셈 CTO로 인공지능과 스마트팩토리 관련 개발을 총괄했으며, 전 아이콘(ICON) 치프 아키텍트로 퍼블릭 블록체인 개발과 운영에 대한 경험이 풍부하다. 집필과 번역한 책이 40여 권에 이른다. 최근에는 유튜브 채널(https://www.youtube.com/c/박재호dev)을 열고 개발자를 위한 다양한 지식을 전달하고 있다.
오.... 386으로 울펜슈타인 하던 시절이 떠오르네요..
그 당시 열어둔 문이 멀리서 철커덩 하고 닫히는 음향효과에 깜짝 놀랐던 기억이 있네요. 거리에 따른 소리울림은 이것이 사운드 블라스터 프로의 힘인가 싶었습니다.
92년도에 친구 생일집에서 386 컴퓨터로 난생 처음 fps를 접하고 컬처쇼크를 받았던 기억이 아직도 생생하네요. 컬러 모니터도 그때 처음 봤었죠..ㅋㅋ 당시만해도 아직 흑백모니터 쓰는 사람들 많았을적이라, 여러모로 울펜3d는 기억에 남네요.