최근 수정 시각 : 2024-10-23 11:37:37

둠 소스 포트

Zandronum에서 넘어옴
1. 개요2. 역사3. 사용법과 팁4. 주요 소스 포트
4.1. 붐 (Boom)4.2. SMMU (Smack My Marine Up)4.3. 둠스데이 (Doomsday Engine)4.4. ZDoom
4.4.1. GZDoom
4.5. PrBoom
4.5.1. PrBoom+
4.5.1.1. DSDA-Doom
4.6. 스컬태그 (Skulltag) / Zandronum(잔드로눔)4.7. ZDaemon4.8. 초콜릿 둠 (Chocolate Doom)
4.8.1. 크리스피 둠 (Crispy Doom)
4.9. 이터니티 엔진 (Eternity Engine)4.10. FastDoom4.11. 유니티 포트 (공식)4.12. KEX 엔진 포트 (공식)
5. 소스 포트 치트 코드6. 바닐라 포트 마개조 - ACE II

1. 개요

이드 소프트웨어 FPS 게임, 을 윈도우 등의 다양한 플랫폼으로 구동할 수 있게 해주는 프로그램.

2. 역사

1997년 12월 23일, 소스 코드가 공개되었다. 최초에는 비상업용 라이선스였으나, 이후 GNU GPL로 개정된다. 둠 소스 코드는 프로그래머 번트 크라이마이어(Bernd Kreimeier)에 의해 정리된 후 공개되었는데, 애당초 소스 코드 공개와 더불어 크라이마이어가 쓴 둠 엔진에 대한 책까지 같이 발매하는 것이 계획이었다. 그러나 당시 게임 커뮤니티 내에서 둠의 인기는 점차 하락세였기 때문에, 이 계획은 폐기되었고 소스 코드만이 공개되었다.

초창기의 소스 포트는 단순히 크로스 플랫폼 호환성을 위한 것이었으나, 점차 기존 둠 소스 코드의 버그를 수정하고, 기존에는 없었던 기능을 더해 게임 플레이를 변화시키는 개조가 이루어졌다. 또한 초기의 소스 포트는 도스, 윈도우, 리눅스 PC 운영 체제용으로 만들어진 것이었으나, 점차 매킨토시, 콘솔, 휴대 기기 등 다양한 하드웨어로 이식된다.

최초의 소스 포트는 리눅스 용으로 쓰여진 오리지널 코드를 MS-DOS로 역 포팅한 도스둠(DOSDoom)이었다. 첫 버전은 1997년 12월 23일, 소스 코드가 공개된지 4-5시간 만에 공개되었는데, 이는 이후 붐(Boom), 둠 레거시(Doom Legacy), 엣지(EDGE)등 여러 주요 포트의 기반이 된다. 첫 버전은 순수한 포팅이었으나 이후 버전에서는 자유 시점, 투명도, 점프 등 새로운 기능이 더해지기도 했다. 또한 도스 둠 0.2 버전에서는 '소스 포트'라는 용어가 처음 파생되기도 하였다.

포팅이라는 용어는 원래 소프트웨어가 디자인되지 않았던 다른 플랫폼에 작동하도록 이식하는 것을 의미한다. 둠의 경우, 원래 도스용으로 발매되었고, 최초의 소스 포트인 도스둠도 이름 그대로 도스용, 즉 같은 플랫폼임에도 불구하고 소스 포트라는 말이 붙었는데, 이는 비록 둠은 도스용으로 개발된 게임이었지만 소스 코드는 리눅스로 쓰여졌기 때문이었다.

3. 사용법과 팁

소스 포트 다운로드 후, 설치 또는 압축해제하면 폴더 안에 실행 파일이 있을 것이다. 실행 파일과 같은 경로에 IWAD 파일 (doom.wad, doom2.wad 등)을 복사하고 프로그램을 실행하면 소스 포트에서 자동으로 파일을 읽어들인다.

추가맵 WAD 및 모드는(압축되어 있는 경우 압축해제한 후) 드래그하여 소스 포트 실행 파일에 끌어 놓으면 실행된다. 또는 해당 확장자를 소스 포트 프로그램으로 연결해도 된다. 단, 소스 포트 호환성에 따라 모든 모드가 실행되지 않을 수 있음을 기억하자. 호환 문제가 염려된다면 그냥 ZDoom이나 GZDoom, 멀티플레이의 경우 Zandronum을 사용하면 된다. 이들 소스 포트는 거의 완벽한 호환성을 제공한다.

윈도우 7 및 8을 사용하는 경우, 작업표시줄에 소스 포트 바로가기를 만들고 파일을 끌어 놓으면 점프 목록을 통해 좀 더 간편하게 실행 가능하다. 또한 ZDoom 및 그 파생 소스 포트는 ZIP 파일을 기본 지원하여 그냥 압축 파일째로도 실행할 수 있다.[1]

소스 포트를 장기간 사용하다 보면 메인 디렉토리가 각종 WAD 파일 및 세이브 파일로 지저분해질 수 있는데, 가장 흔히 사용되는 ZDoom 및 그 파생 포트의 경우 이를 방지할 수 있는 몇 가지 방법이 있다. 상기했다시피 압축파일 상태로 이용하여 컨텐츠 당 하나의 zip 파일만을 사용하고, 점프 목록을 이용해 메인 디렉토리에 놓이는 파일 수를 줄일 수 있으며, 메인 디렉토리에 있는 zdoom-계정명.ini 파일을 열어 IWAD 및 세이브 파일의 위치를 지정할 수 있다. IWAD 파일은 .ini 파일을 열면 바로 보이는 IWADSearch.Directories 아래의 path를 적당히 수정하면 되고 (예: Path=$PROGDIR/IWAD), 세이브 파일은 save_dir= 을 찾은 후 역시 적당한 디렉토리 이름을 지정해주면 된다.(예: save_dir=save)

4. 주요 소스 포트

둠 소스 포트는 2021년 1월 기준으로 약 130종 정도가 확인되는데, 아래 목록은 그 중에서 비록 오늘날에는 쓰이지 않으나 소스 포트 발전사에 있어 빼놓을 수 없는 것이나, 현재까지도 많이 사용되고 있는 것들을 기재한다. 만약 소스 코드의 가계도가 궁금하다면 이 그림을 참고하자.

4.1. 붐 (Boom)

#

초창기, 1990년대 후반의 가장 대표적인 소스 포트로 TeamTNT[2]에 의해 개발되었다. 붐 프로젝트의 디자인 목표는 오리지널과 동일한 느낌, 정신을 유지하면서도 바닐라 둠[3]의 버그를 수정하고, 여러 제약을 없앤 소스 포트를 제작하는 것이었다. 붐은 MS-DOS에서만 구동되었으며, 상술한대로 오리지널에 충실하게 제작되어 콘솔 창이나 그래픽 개선, 점프 등의 부가 기능을 지원하지 않는다. 98년 10월 22일을 끝으로 업데이트되지 않았지만 붐의 소스 코드는 이후 주요 둠 소스 포트 중 하나로 자리잡는 PrBoom의 기반이 된다.

4.2. SMMU (Smack My Marine Up)

역시 초창기 소스 포트 중 하나로, 1998년부터 개발되었던 소스포트였으며 MS-DOS, 윈도우즈, 리눅스 실행을 지원했었다. 그외에도 퀘이크 1 스타일의 에피소드 선택 맵 기능을 지원하는 기능이 있었지만 어떤 의미로 가장 특징적이었던건 실시간 ANSI아트 렌더링 모드를 지원하기도 했다(...). 자세한 건 둠 위키아의 관련문서 플레이 영상을 참조.

4.3. 둠스데이 (Doomsday Engine)

공식 홈페이지

2000년대에 자주 사용되었던 소스 포트. 원래는 헥센의 소스 포트인 jHexen으로 시작했지만, 이후 헤러틱과 둠의 포트인 jHeretic과 jDoom이 개발되고, 세 포트의 공통된 코드를 한 곳으로 모으면서 둠스데이 엔진이 만들어졌다. 이들 게임은 둠스데이 엔진에 플러그인 형식으로 구동되고 있다.

둠스데이는 붐과는 다른 방향성을 갖춘 소스 포트로, 붐이 최대한 원작에 가까운 경험을 제공했다면 둠스데이는 3D 폴리곤 모델이나 하드웨어 가속, 고해상도 텍스쳐 지원, MP3 음원 등 여러 기술적 개선에 집중한 엔진이다. 둠스데이의 OpenGL 기능은 GZDoom이나 Zandronum이 참고하기도 했다. 현재는 이런 개선점들이 여타 소스 포트에도 적용되면서 둠스데이만의 이점은 거의 사라진 상태.

개발이 2005년을 기점으로 멈추었으나 최근 들어서 다시 개발이 시작되었다. 맵과 애드온 등을 프로필로 묶는 등 모딩질을 편하게 할 수 있도록 인터페이스쪽에 발전이 이루어졌다.

JDOOM 계열 파생 엔진으로 라이젠 3D(Risen3D)가 있다. 파생이라 그런지 둠스데이 애드온은 라이젠 3D용으로 같이 나오는 경우가 많다.

4.4. ZDoom

공식 홈페이지 / Z둠 위키 / Z둠 포럼[4] / 공식 GitHub 계정

초기 소스 포트였던 ATB Doom과 NTDoom에 기반해 만들어진 것으로, 1998년 3월 6일 최초 릴리즈되었으며, 오늘날 GZDoom과 더불어 가장 널리 쓰이는 소스 포트이다. 완벽한 붐 호환과 더불어 헤러틱, 헥센, 스트라이프, 첵스 퀘스트를 지원하며, 또한 경사면, 투명, 콘솔, 제한 없는 프레임률, z-클리핑 등 여러 개선점도 포함하고 있다. 다만 빌드 엔진의 소스 코드를 가져오는 등 라이센스가 꼬여 있는 지라 GPL이라고 하긴 뭣하다는 게 단점.

ZDoom의 가장 큰 장점은 WAD 및 모드 호환성으로, 가장 널리 쓰이는 둠 소스 포트인 만큼 거의 모든 WAD 및 모드가 ZDoom 호환으로 제작된다. 간혹 ZDoom에서는 정상적으로 작동되는 WAD가 여타 소스 포트에서는 약간의 이상증세를 보이거나 아예 구동되지 않는 경우가 있다. IWAD도 완벽하게 호환되며 가장 최근에 발매된 둠 3: BFG 에디션의 doom2.wad도 제대로 인식한다.

반면 단점으로 데모(녹화) 호환 문제가 꼽힌다. 둠에는 게임 구동 후 10여 초가 지나면 어트랙트 데모와 비슷한 차원에서 미리 녹화된 데모가 플레이되는 기능이 있는데, ZDoom은 바닐라 둠의 lmp 파일을 지원하지 않기 때문에 데모를 볼 수 없다. 또한 하드웨어 렌더러를 지원하지 않아 초대형/초물량형 맵에서는 느려짐이 발생할 수 있으며, 자유시점에서의 시야 왜곡도 있다. 하드웨어 가속과 관련된 단점은 아래 기술하는 GZDoom을 통해 보완할 수 있다.

ZDoom에서 파생된 소스 포트로는 GZDoom과 Skulltag, Zandronum, ZDaemon, ScoreDoom 등이 있다.

2017년 1월 7일, 개발자인 Randy Heit은 ZDoom의 개발이 중단되었음을 밝혔다. 마지막 정식 버전은 2016년 2월 22일 공개된 버전 2.8.1. 개발 버전인 SVN 빌드도 2016년 12월 29일을 마지막으로 멈췄다. 둠 역사의 한 부분이 막을 내렸다는 점에서는 아쉬운 일이지만, GZDoom의 개발은 앞으로도 계속되기 때문에 플레이어의 관점에서는 ZDoom의 개발 중단이 크게 문제되지 않을 것이다.

4.4.1. GZDoom

오늘날 가장 많이 사용되는 둠 소스 포트. 기본적으로 ZDoom에 OpenGL 렌더러를 더한 것으로, 2005년 8월 30일에 처음 공개되었다. 개발자는 Graf Zahl.

GZDoom의 OpenGL 렌더러는 다음과 같은 기능을 지원한다.
  • 풀 3D 계단 (층 위에 층을 가능케한다. 다만 바닐라 둠 및 여타 소스 포트와의 호환문제로 부분적으로만 쓰이는 기능)
  • 반사되는 바닥
  • 동적 광원, 브라이트맵, 커스텀 하드웨어 셰이더
  • 퀘이크 2/ 하프라이프 스타일의 스카이 박스
  • 높은 수준의 그래픽/스프라이트/텍스쳐 리스케일링 필터
  • 둠스데이의 MD2, MD3, 그리고 제한적인 DMD 모델 지원
  • 3D VR
  • 블룸, 톤 맵, 멀티샘플링, FXAA, SSAO

2010년 이후 한동안 렌더러의 개발이 멈췄던 적이 있다. 이유는 개발자의 시간 부족과 AMD 그래픽 카드의 호환성[5] 문제로 인해 유저들로부터 끝없는 불평을 들어온 것에 대한 회의감 때문이다. 이와 함께 웹 사이트가 통째로 내려가며 미러 서버를 제외하고는 다운로드할 수 없게 되는 일도 있었으나, 이후 사이트는 복구되었다.

비록 렌더러의 업데이트가 중단되었다고는 하나, 이후로도 GZDoom의 버전업이 맞춰 꾸준히 업데이트는 되어 왔다. 그리고 2014년에 2.0 버전과 함께 오늘날의 하드웨어에 더욱 잘 대응하는 새로운 렌더러가 도입되면서 다시 개발이 활발해졌다.

2016년 7월에 공개된 2.2.0 버전에서는 블룸, 멀티샘플링, 스테레오 3D VR, 톤 맵 등의 기술이 더해졌고, 4개월 후에 나온 2.3.0 버전에서는 SSAO가 추가되었다. 그리고 2017년 4월에 공개된 3.0.0 버전에서는 소프트웨어 렌더러도 트루 컬러를 지원한다. 확장성이 무궁무진하기 때문에 이론상 노멀 맵 텍스쳐( #, 수면 그래픽) 지원이라든지 레이 트레이싱(!)까지 적용할 수 있다. #, 시험적 적용 데모(단, 이 영상은 GZdoom이 아닌 LZdoom)이다. 그리고 2024년 진짜로 레이트레이싱 지원 모드가 나왔다. #/ (리뷰)

많은 언어를 지원하며, 한국어도 공식적으로 지원한다. 초기 둠 비공식 한글화[6] 테스트 버전을 개발한 제작자의 물건을 넘겨받아 사용하게 되었다.[7] 아쉽게도 몇몇 번역은 번역기를 돌린 수준이며, 글꼴이 다소 아기자기하고 깬다는 소리를 듣는다.

GZDoom의 포크 QZDoom이라는 물건도 있다. 원래는 독립적으로 개발되는 소스 포트였는데, ZDoom 개발 중단 후 두 소스 포트의 개발자가 논의를 거쳐 QZDoom의 기능을 GZDoom으로 합치기로 결정하였다. 그리고 현재 QZDoom은 GZDoom에 도입할 실험적인 기능을 먼저 테스트하는 용도로 활용되고 있다.

참고로 GZDoom에도 소프트웨어 렌더러가 있다. 사용하는 방법은 콘솔에서 vid_renderer 0 입력. 숫자를 1로 바꾸면 OpenGL 렌더러로 돌아간다. 2017년 이후의 버전에서는 굳이 콘솔을 열지 않아도 메뉴 옵션에서 렌더러를 선택할 수 있다.

만약 느린 내장 그래픽을 사용하고 있다면 소프트웨어 렌더러가 더 나은 프레임률을 보여줄 수도 있다. 그리고 QZDoom의 코드가 접목된 이후로는 GZDoom의 소프트웨어 렌더러 성능이 ZDoom보다 더 좋아졌기 때문에 이젠 굳이 ZDoom을 쓸 장점이 없기도 하다.

최근에 나온 AMD 그래픽 카드를 사용하면 일부 토탈 컨버전에 사용되는 3D 모델이 보이지 않는다. 이는 최신 AMD 그래픽 카드들이 Vulkan으로 넘어가면서 구 OpenGL 명령어 일부를 지원하지 않게 되면서 생긴 문제. 이럴 경우 어쩔 수 없이 소프트웨어 렌더러를 사용해야 한다. 다만 18.10.1 베타 버전 드라이버로 업그레이드하면 다시 3D 모델이 잘 보인다. 성능은 AMD가 OpenGL에 가지고 있던 고질적인 문제점이라 어쩔 수 없다.

OpenGL 렌더러와 하드웨어 가속, 이방성 필터링 등 여러 시각적 개선 요소를 디폴트 값으로 설정한 채 배포되고 있어 게임을 딱 켰을 때 일반적으로 알던 둠에 비해 조금 화려하다. 또한 강제 세이브를 지원해 죽었을 때 해당 지점으로 되돌아간다든지, 점프/숙이기/위 아래 보기 등 오리지널에 없는 기능을 가장 많이 채용한 편이라 초보자들이 가장 원할 만한 소스 포트라 할 수 있다. 보급이 가장 많이 된 포트 중 하나기 때문에 이런저런 기능을 넣은 모드 제작자들이 복잡한 설명은 각설하고 GZDoom 호환으로 명시하는 경우도 있다.

한편으로는 원본주의자들이나 스피드 러너들이 가장 싫어하는 소스 포트이기도 하다. 시각적 요소와 게임 플레이에 영향을 주는 기능 추가 및 변조가 많이, 그리고 오랫동안 이루어진 포트이고 그러한 부분을 특장점으로 갖는 포트이기 때문에 원본과 같이 동작시키려면 세밀한 부분에서 원작과 달라지는 요소들을 옵션에서 전부 찾아 꺼 줘야 하며, 태생적으로 타임 크리티컬한 부분이나 변수 활용이 달라 애초에 원작과 룰이 다르다는 게 그 이유.

1990년대풍 2.5D 그래픽을 선보이는 인디 부머 슈터 개발자들이 가장 애용하는 엔진이 되었다.

4.5. PrBoom

#

Proff Boom의 줄임말. Proff는 개발자의 아이디에서 따왔다. 이름이 말해주듯 붐에서 파생된 소스 포트이며, 개발이 진행되며 LxDoom과 LsdlDoom의 코드가 병합되었다. 막강한 하위호환성과 특유의 HUD로 널리 사용되는 둠 소스 포트 중 하나가 되었다.

PrBoom은 ZDoom의 약점인 데모 호환성이 가장 큰 장점으로, 기본적인 호환성이 뛰어나 둠 1.2, 둠 2 1.666, 1.999 등의 여러 버전의 데모 파일을 문제 없이 재생할 수 있다. 또한 화면의 크기를 키우는 +키를 두 번 누르면 PrBoom 특유의 HUD가 나오는데, 비록 투박한 모습이지만 체력, 탄약소지량 등의 기본적인 정보 뿐만 아니라 몬스터, 비밀 장소, 아이템 숫자, 플레이 시간 등의 유용한 정보도 같이 나와 UVMAX 러너 및 스피드러너들에게 애용된다. 전체적으로 바닐라의 틀을 해지지 않는 선에서 고난이도 WAD들을 초콜릿(+각자의 WAD가 의도한 환경)하에서 하드코어로 파고드는 유저들에게 인기가 좋다. GZDoom과 마찬가지로 하드웨어 가속을 지원하는 것도 장점.

붐과 마찬가지로 콘솔 창을 지원하지 않는다는 게 호불호가 갈릴만한 요소. 사실 2.3.0 버전에서 콘솔 창을 지원했으나, 해당 버전이 버그 덩어리라 이후 버전에서 롤백되면서 없던 게 되었다. 또한 Alt-F4가 먹지 않아 급변하는 상황에 쉽게 대응할 수 없다는 단점이 있다.(…)

마지막 버전인 2.5.0이 2008년에 나왔고 그 이후로는 PrBoom+로 개발을 이어가고 있다.

iOS로 출시된 둠 클래식은 PrBoom에 기반하고 있다.

4.5.1. PrBoom+

#

이름이 말해주듯 PrBoom에 자잘한 기능 및 옵션을 추가한 개선된 소스 포트.

가장 크게 개선된 부분은 데모 재생으로, 기존의 높은 호환성에 더해 데모 재생속도 조절, (여러 레벨이 묶여 있는 데모의 경우) 레벨 스킵, 3인칭 시점과 같은 부가적인 기능도 지원한다. 따라서 진행상 막히는 부분이 있거나 고수의 플레이를 보고 싶을 때 PrBoom+로 Doomed Speed Demos Archive의 데모 자료를 참고하면 도움이 된다.

2011년 이후로 업데이트가 다소 느린 게 단점이다. 가장 최근의 정식 버전인 2.5.1.4는 2.5.1.3 버전으로부터 4년만에 공개되었다.
4.5.1.1. DSDA-Doom
#

PrBoom+um에서 포크되어 2020년 공개된 포트. 이름은 둠 스피드 데모 아카이브의 약자로, 해당 사이트의 현재 관리자인 Kraflab이 스피드러너 편의성을 위해 개발한 소스 포트이다.

데모 되감기 등 리플레이에 쓸모 있는 소소한 부가기능이 추가되고 컨트롤러 옵션이나 HUD 등 개선이 필요했던 부분들을 손봐 DSDA 권장 소스 포트로 쓰이고 있다. 특기사항으로 OpenGL API 환경에서 쓸 수 있는 셰이더가 하나 새로 쓰여졌는데, 이는 오리지널 둠의 렌더링 방식을 모사한 것이다.

4.6. 스컬태그 (Skulltag) / Zandronum(잔드로눔)

스컬태그 / Zandronum

기존 둠 멀티플레이에 퀘이크 3, 언리얼 토너먼트의 멀티플레이 요소를 접목한 소스 포트로 ZDoom 기반으로 제작되었다. 데스매치, 코옵, 인베이젼, 터미네이터, 라스트 맨 스탠딩, 캡쳐 더 플래그 등 다양한 게임 플레이 모드와 기본 전용 맵들을 지원한다.

대부분의 멀티플레이 모드는 스컬태그 전용으로 제작되고 배포되고 있다. ZDoom 계열인 만큼, 멀티플레이 뿐만 아니라 싱글플레이 호환성도 좋은 편이나, ZDoom과는 별도의 방식으로 업데이트가 되고 있어 이 때문에 GZDoom이나 ZDoom에서 사용 가능한 함수나 문법이 오류가 나는 번거로운 사태를 유발하곤 한다.

2012년 6월부로 개발자인 브래드 카니(Brad Carney)와 나머지 팀원들간의 의견충돌로 스컬태그의 개발은 중단되었고, 현재는 남은 팀원들이 그 유지를 이어 Zandronum을 개발하고 있다.

스컬태그에는 스컬태그 전용 무기들(유탄발사기, 레일건, BFG10k[8] 등)과 아이템, 몬스터[9]가 따로 있었으나, 스컬태그가 개발이 중단되고 이를 계승한 Zandronum에는 해당 기능들이 지원되지 않는다. 때문에 스컬태그 전용 WAD들을 Zandronum에서 돌리고 싶다면 관련 리소스가 담긴 WAD를 추가하여 구동해야 한다.

4.7. ZDaemon

#

상당히 오래된 ZDoom 1.22와 csdoom[10]의 엔진을 사용하고 있어, 상기한 GZDoom이나 스컬태그, 잔드로눔과 비교하면 부족한 포트이다. 다만 깔끔한 인터페이스와 간편한 멀티플레이 기능으로 아직까지 사용되고 있다. 고유의 안티치트 시스템이 탑재되어있다는것도 특징. 사족이지만 ZDaemon 개발자 및 관련 포럼 상주자는 뭐든지 까이는 Encyclopedia Dramatica에서도 특히 ENEMIES OF THE LULZ라고 찍힌 걸 보면 원수지간 같다.[11]

Zdaemon 1.07에서 개발자들은 치트 문제로 인해 소스코드 공개를 중단했는데, 소스코드를 뜯어서 Zdaemon의 안티치트를 파훼하는걸 막기 의한 의도로 보이나, 이 때문에 자유 소프트웨어 친화적인 개발자들의 비판을 받은 것으로 보인다.

해당 소스포트에 외주자격으로 참여했던 doom2pro가 에임봇 프로그램이라면서 사용하는 zdaemon이 설치된 폴더를 날리는 트로이 목마를 배포했는데, 너무한거 아니냐는 비판도 있었다.

한국 고전 FPS 유저들 사이에서는 수래귀라는 괴상한 별명으로도 불렸다는것같다. '귀'는 Daemon의 직역 같지만 술래귀의 오자인건지...

포크판으로 글라이드에 호환되는 ZDaemonGL이 있다.

4.8. 초콜릿 둠 (Chocolate Doom)

#

변형을 가하지 않은 도스용 둠을 일컫는 바닐라 둠의 이름을 장난스럽게 비튼 이름의 소스 포트. 바닐라 둠과 같은 원형 그대로의 경험을 다양한 플랫폼에서 구동하기 위해 제작되었다.

붐 호환 포트들이 기능 추가 경쟁으로 점점 원본 호환성이 떨어져가면서 도스 둠과의 세이브·데모·버그·설정 호환에 사소한 문제들이 생겼다. 이런 부분에서의 원칙을 지키는 소스 포트를 제작하고 유지하는 것을 원칙으로 하여 2005년 처음 공개되어 오늘날까지 간헐적으로 유지보수되고 있다. 이러한 개발 취지를 드러내듯 셋업 툴도 도스 GUI를 컨셉으로 하고 있다.

시각적으로나 기술적으로나 원본 도스 둠에서 바뀐 것이 전혀 없기 때문에 최대 초당 35프레임에 고해상도 렌더링도 지원하지 않아 코 앞에 있는 사물이 아니면 죄다 도트 반죽으로 보이는 1990년대 3D 기술의 매운 맛을 그대로 느낄 수 있다. 인게임 그래픽 옵션은 '디테일' 딱 하나만을 지원하는데, 디폴트 값에서 높일 수는 없고 낮추면 가로 해상도가 절반으로 줄어들어 SNES의 아주 매운 맛을 느낄 수 있다.

인게임 기능이나 편의성 추가는 전혀 없지만 키 매핑과 컨트롤러 키 바인딩을 지원하며, 클래식 둠 뿐만 아니라 헥센, 헤러틱, 첵스 퀘스트 등 둠 엔진 기반의 다른 IWAD도 지원하기 때문에 도스박스를 미련 없이 갖다 버려도 된다는 장점이 있다. 다만 한계 제거 조치 조차도 없는 순도 100% 바닐라 포트이기 때문에 구동할 수 있는 유저 WAD는 바닐라 호환 뿐이다.

사족이지만 진짜 바닐라 도스 둠에서는 오늘날 몇몇 소스포트에서 간편하게 옵션으로 토글할수 있도록 편입된 몇몇 부가적인 옵션들을 도스 커맨드에서 실행시 여타 도스 프로그램들처럼 프롬프트상에서 DOOM.EXE 혹은 DOOM2.EXE를 입력후 뒤에 패러미터를 붙여서 실행해야했었다. 가령 나이트메어가 아닌 다른 난이도에서도 패스트몬스터 옵션을 붙일때 DOOM2.EXE -fast를 따로 입력해야한다거나, 다른 난이도에서도 몹 리스폰 설정을 하려면 DOOM2.EXE -respawn을 입력해야한다든가, 데모 녹화 및 재생들도 일일히 패러미터를 입력해야 했었던 시절이었다. 둠위키에서 정리한 바닐라 둠의 도스 프롬프트 실행시 패러미터 목록

4.8.1. 크리스피 둠 (Crispy Doom)

공식 깃헙 계정

초콜릿 둠에서 포크된 소스 포트. 바닐라·초콜릿 둠의 레거시 세이브 및 데모를 왜곡하지 않는 것을 전제로 기능 추가와 개선을 위해 제작되었다. 2014년 처음 공개되었으며 계속 유지보수되고 있다.

고해상도 렌더링과 프레임률 설정을 지원해 여타 메이저 소스 포트들과 동등한 시각 효과를 제공하며, HUD·크로스헤어·와이드스크린·컬러 미니맵·감마 설정 등 기타 다양한 편의성 옵션을 선택할 수 있다. 점프·위 아래 보기·일부 비현실적인 충돌판정[12] 무시 등 인게임 기능 추가 옵션도 일부 있으나 기능 확장의 폭은 가장 좁다.

구동 가능한 WAD는 초콜릿 둠에서 가능한 것들을 포함해 한계 제거(Limit-Removing) 호환까지만 가능하며 붐 호환부터는 불가. 한계 상향의 폭은 여타 소스 포트들과 특별히 차이가 없다. PrBoom 계열 소스 포트의 호환성 옵션 2번과 같으므로 일부러 크리스피 둠을 사용할 이유는 거의 없으나, 옵션이 깔끔하고 기능이 적으니 건드려서 문제 생길 요소가 딱히 없으므로 딱 둠 게임 본편과 기본적인 계열의 모드 몇 개만 재밌게 하고 싶은 사람이라면 이 포트를 쓰는 게 편리하다.

4.9. 이터니티 엔진 (Eternity Engine)

#

이터니티 토탈 컨버전 WAD를 구동하기 위해 만들어진 소스 포트였으나, 2006년에 WAD 개발이 중단되면서 엔진만 남아 계속 개발되고 있다. 많은 변형이 가해진 소스 포트로 붐에서 시작해 MBF, 그리고 SMMU 기반으로 옮기며 현재의 체계가 갖추어졌다.

기능적인 면만 보면 꽤 발전된 소스 포트다. 때문에 모데스(Mordeth)나 둠 밀레니엄(Doom Millennium), 그리고 베이퍼웨어(Vaporware) 같은 일부 WAD가 이터니티 호환을 우선으로 제작되는데, 문제는 이 WAD들은 십여 년 째 나오질 않는다. (…)

4.10. FastDoom

공식 GitHub 계정

기존 도스용 둠을 더욱 최적화한 버전.

CGA[13], 허큘리스, EGA 그래픽을 추가로 지원한다.

멀티플레이어 기능이 없다.

4.11. 유니티 포트 (공식)

2019년 6월 26일 공개된 공식 포트. 너브 소프트웨어 제작, 이드 소프트웨어 지원. 스팀, GOG 등 다수 판매처에서 도스박스 에디션과 함께 판매 중이며, 출시일 이후 PS4, Xbox One, 닌텐도 스위치, iOS, 안드로이드 플랫폼에서 온라인 판매되는 모든 클래식 둠은 이 포트 기반이다.

유니티 엔진은 이식 용이성을 보장하기 위한 셸 역할로만 기능하며, 내부적으로는 바닐라 둠 엔진이 그대로 구동된다. 일부 버그가 수정되고 오늘날 PC 사양에 맞도록 정적 제한을 상향한 상위 버전 바닐라인 셈. 생 바닐라인 DOS 둠과의 차이는 아래와 같다.
  • 정적 제한 상향. 대부분의 리미트 해제 WAD를 바닐라 조건에서 구동할 수 있게 되었다.
  • 게임기 버전과 동등한 컨트롤러(게임패드) 옵션을 지원. 진동이 제공되며 아날로그 입력을 제대로 지원하는 유일한 포트이다.
  • 이식 편의성을 위해 가상악기 연주 대신 *.ogg 형식으로 사전녹음된 사운드트랙을 사용한다.
  • 와이드스크린 지원. 해상도는 최저 320*200부터 지원한다.
  • 프레임률 선택 가능. 초당 30, 60, 120프레임을 지원한다.
  • 애드온 지원. WAD 변경시마다 재구동할 필요 없이 애드온 메뉴에서 선택해 바로바로 바꿀 수 있다.
  • 시각 편의 제공. (크로스헤어 지원, 미니맵상에서 킬/아이템/시크릿 수 확인 가능)
  • 옵션 메뉴에서 치트 키를 공식 지원. 키보드가 없는 이식 환경에서도 사용할 수 있다.
  • 적십자사로부터 클레임을 받았던 빨간 십자 스프라이트는 모두 녹십자로 변경됨.
  • 이외 다수.

PC의 경우 바로가기 커맨드를 이용한 모드 구동은 불가능하며, 구동하고 싶은 *.WAD들을 아래 경로에 추가하고 게임을 구동해 메인화면에서 애드온 메뉴를 선택하면 리스트업된 WAD들 중 활성화하고 싶은 WAD를 선택할 수 있다.
C:/Users[14]/(사용자이름)/Saved Games[15]/id Software/DOOM 2[16]/WADs
PC가 아닌 환경에서도 저장소 접근이 가능하면 기종별 경로에 WAD를 붙여넣어 똑같이 모드를 즐길 수 있다. 보안상 파일 접근이 안되는 환경(iOS 등)인 경우 베데스다넷에 가입해 다운받을 수 있는 무료 오피셜 애드온들로 만족하면 된다.

널리 쓰이는 GZDoom, PrBoom+ 등의 사설 소스 포트에 만족하고 있는 코어 유저들에게는 로컬 멀티플레이 이상의 소구요소는 없다. 현대화된 바닐라로서 가장 보수적인 편에 속해 사설 모드들이 지원하는 프리룩(상하시점조작), 점프, 웅크리기와 같은 특이한 기능은 지원하지 않기 때문. 벽에 탄흔이 남는다든지, 몬스터들의 투사체나 키 카드에 동적 조명이 적용된다든지, 별도의 텍스처 필터링이 제공된다든가 하는 시각적 개선점도 없다. Dehacked 툴도 지원하지 않기 때문에 커스텀 스프라이트가 적용되는 모드를 실행하면 무시되거나 튕긴다. 한편 컨트롤러(게임패드) 유저에게는 모던 FPS와 동등한 컨트롤러 옵션이 제공되는 거의 유일한[17] 소스 포트라는 장점이 있다.

4.12. KEX 엔진 포트 (공식)

둠 2 30주년 기념으로 합본 + 이식작인 둠 + 둠 2 나이트다이브 스튜디오가 자사의 KEX 엔진을 사용해 포팅했다.

유니티 포트와 마찬가지로 KEX 엔진은 플랫폼 지원을 위한 백엔드 프레임워크로만 사용되고 실제 게임은 오리지널 둠 엔진으로 구동된다.

5. 소스 포트 치트 코드

다수의 둠 소스 포트는 원작의 치트 키에 더해 독자적인 치트 코드를 제공한다. 개중에는 iddqd (무적), idkfa (모든 무기 및 키) 등의 원작의 치트와 명령어만 다를 뿐 기능적으로는 동일한 것도 있고, 소스 포트에서만 가능한 것도 있다. 소스 포트 치트 코드는 콘솔 창을 불러온 후 사용하거나, 붐처럼 콘솔 창 자체가 없는 소스 포트의 경우는 원작에서 그랬던 것처럼 게임 중 바로 입력하면 활성화된다.
일부 소스 포트의 콘솔 모드에서 입력할 수 있는 치트 키는 퀘이크 시리즈의 영향을 받은 것도 일부 있다.

둠 소스 포트에서 지원하는 치트 코드는 둠 위키의 해당 페이지에서 볼 수 있다. 대부분의 경우 Boom (PrBoom), Doomsday, ZDoom의 치트만 참고하면 될 것이다.
  • ZDoom 및 그 계열의 소스 포트가 폭넓은 기능 만큼이나 가장 광범위하고 유용한(콘솔) 치트를 제공한다. 예로, 죽은 자리에서 바로 체력 100과 기존 무기를 가지고 게임을 재개하는 resurrect,[18] iddqd와 달리 대미지를 입고 그에 따른 반응도 하지만 체력이 1 미만으로 떨어지지 않아 죽지 않는 buddha, 몬스터를 적대시하지 않고 맵을 탐색 가능한 notarget, 몬스터를 아군으로 소환하는 summonfriend[19], 값에 따라 바닐라의 IDDT 2번으로도 절대로 볼수없는 진짜 숨겨진 공간까지 밝힐수도 있는 am_cheat (n) [20] 등….
  • TeamTNT가 만든 붐의 치트코드는 팀 이름을 따 모두 tnt로 시작한다.[21] 붐의 치트코드는 PrBoom을 비롯한 하위 포트에서도 모두 지원하고 있다.
  • 일부 소스 포트에서는 idfa 및 idkfa가 백팩(둠)을 같이 제공한다. 원작의 치트 키는 군장 없이 탄약 최대치만 제공.
  • 일부 소스 포트는 idbehold를 통한 아이템 입수 시, 원래는 시간 제한이 있는 아이템도 레벨 전체에 걸쳐 지속된다.
  • 일부 소스 포트에서는 치트 코드가 키보드 레이아웃에 따라 달라질 수 있다. 그럴 경우, QWERTY 키보드 레이아웃에 맞춰 치트를 사용하면 된다.

6. 바닐라 포트 마개조 - ACE II


시연

ACE II 엔진 개괄

한편 바닐라 도스 둠에서 임의 코드 실행으로 일부 둠 소스 포트에서 지원될 만한 기능을 바닐라 도스 둠에 구현한 사례가 등장했다.

그리고 이를 발전시켜서 급기야 ACE II(Arbitrary Code Execution의 약어다.)라는 이름으로 유사 소스포트화되기에 이르렀다. 둠월드 스레드, 깃헙 레포지토리, 둠위키 ACE 엔진 소개 문서
오버뷰 영상을 보면 도스 바닐라 둠이라는 틀 안에서 최대한의 마개조를 추구한 모양으로 GZdoom 스타일의 타게임 무기 추가 모딩, 듀크뉴켐식 사다리타기, 잠수 등을 구현한 것으로 보인다.


[1] 단, 압축 파일의 메인 디렉토리에 .wad 파일이 있어야 한다. 만약 서브 디렉토리에 존재할 경우 읽어들이지 못한다. 또한 .pk3는 그 자체로 압축파일이기 때문에 압축 안의 압축 파일이 있는 꼴이 되어 바로 읽어들일 수 없다. [2] 파이널 둠의 반쪽을 만들었을 뿐만 아니라 여러 Megawad를 만들고 소스 포트를 제작하는 등 둠 모딩 씬에 지대한 영향을 끼친 집단. [3] vanilla Doom, 소스 포트 등이 적용되지 않은 공식 둠 버전. 대표적으로 둠 2 1.999 [4] 각종 모딩 관련 정보가 많다 [5] ATI/AMD의 OpenGL 드라이버는 경쟁사인 엔비디아 제품보다 많이 뒤처져 있다는 게 중론. [6] 둠 + 둠 2에서 공식적으로 한국어 지원 [7] 재밌는 사실이 하나 있는데, 해당 개발자는 한국어화 작업 와중에 나무위키의 둠, 둠 2 문서를 참고하였고, 해당 문서들에 영문이 모두 번역되어 있었기에 손쉽게 작업할 수 있었다며 감사 인사를 남겼다. 즉, 한국어화 테스트 버전을 제작하던 제작자의 작업물을 그대로 넘겨받은 만큼 나무위키의 번역이 그대로 GZDoom 공식 한국어 번역판에 적용되어 있다. [8] 퀘이크 3 아레나와 사양이 비슷하나 히스트캔 판정이다. 한 번 발사에 5개의 셀을 소모한다. [9] 슈퍼 샷건을 무기로 사용하는 슈퍼 샷건 가이, 검은색 임프, 좀 더 진한 빨간색의 핑키데몬인 블러드데몬, 헬 나이트 계열 중 체력 하나는 1500으로 무시무시한 벨페고르 등 [10] 클라이언트 서버 둠 [11] 하기 소스코드와 트로이목마 배포 문제 때문으로 보인다. [12] 몬스터의 머리 위나 발 밑을 지나다닐 수 없는 등의 문제 [13] 컴포지트 아티팩트 컬러도 사용 가능. [14] 한글윈도우의 경우 '사용자' [15] 한글윈도우의 경우 '저장된 게임' [16] 또는 DOOM Classic [17] 사설 소스 포트 제작자들은 거의 전부 키보드+마우스 유저인 탓에 컨트롤러 지원율과 편의성이 바닥을 긴다. [18] 단, 해당 레벨에서 입수한 버서크 팩은 초기화된다. [19] 물론 당연히 소환하려는 적 종류의 클래스 코드를 입력해야한다. 바닐라야 둠 위키등에 정보가 있지만, 모드 전용 몬스터의 코드는 해당 모드를 포함하는 WAD나 pk3 내부의 데이터를 열심히 까봐야 알수 있다는게 함정. [20] IDDT를 백날 쳐도 안밝혀지는 시크릿은 맵 제작자가 linedef 속성값을 장난질 쳐서 그렇게 되는 경우가 많다. 그래서 바닐라 치트키로는 절대로 볼수 없다. am_cheat 2가 IDDT 두번에 상응한다. [21] 치트 키의 접두사로 개발사나 게임의 이름을 사용하는 건 고전 FPS 게임의 전통과도 같았다. 둠은 id Software의 앞머리를 따 id로, 듀크 뉴켐 3D는 dn, LucasArts의 스타 워즈: 다크 포스 la로 시작하는 게 그 예.