28년 된 엔진에서 77개 맵을 돌리는 법 (QBJ3 설치 및 구동 가이드)

28년 된 엔진에서 77개 맵을 돌리는 법 (QBJ3 설치 및 구동 가이드)

김현수·2026년 1월 7일·3

28년 된 퀘이크 엔진으로 구현된 QBJ3의 설치 방법과 개발자 관점에서의 기술적 가치를 분석합니다. 최적화와 레거시 관리의 정수를 경험해보세요.

요즘 주니어들 이력서 보면 화려합니다. Next.js, Kubernetes, MSA... 기술 스택은 최신인데 정작 기본기가 없는 경우가 태반이죠. 메모리 관리나 최적화는 '프레임워크가 알아서 해주겠지'라고 생각합니다. 그런 분들에게 이 프로젝트는 좋은 참고서가 될 겁니다.

1996년에 나온 퀘이크(Quake) 엔진을 극한까지 깎아서 만든 Quake Brutalist Jam 3 (QBJ3) 가 나왔습니다.

단순한 모드가 아닙니다. 1년 넘게 준비한 토탈 컨버전(Total Conversion)에, 커뮤니티가 6주 만에 77개의 맵을 쏟아냈습니다. 최신 그래픽 카드를 꽂고도 메모리 릭으로 뻗어버리는 요즘 소프트웨어들과 달리, 이건 제한된 리소스 안에서 극한의 성능과 미학을 뽑아냅니다.

이 프로젝트를 실행하면서 '최적화'와 '레거시 관리'가 뭔지 직접 느껴보세요.


1. 왜 굳이 지금 퀘이크인가? (Brutalism의 미학)

'브루탈리즘(Brutalism)'은 노출 콘크리트를 주재료로 하는 건축 양식입니다. 거칠고, 억압적이고, 기능주의적이죠. 개발자로 치면 불필요한 추상화 계층(Abstraction Layer)을 다 걷어내고 로우 레벨(Low-level) 로직을 그대로 드러낸 코드와 같습니다.

QBJ3는 이 미학을 게임에 적용했습니다.

  • 새로운 무기, 몬스터, 파워업: 기존 로직을 덮어씌운 게 아니라 완전히 재작업했습니다.
  • 77개의 맵: 맵 하나하나가 독립된 모듈처럼 작동합니다.

SI 프로젝트로 치면, 20년 된 코어 뱅킹 시스템을 안 멈추고 엔진을 갈아끼운 뒤, 그 위에서 77개의 신규 금융 상품을 런칭한 셈입니다. 이게 가능한 건 기반 설계(Platform Engineering)가 탄탄했기 때문입니다.


2. 의존성(Dependency) 문제 해결하기

가장 중요한 부분입니다. 무턱대고 스팀(Steam)에 있는 퀘이크 리마스터(Remaster) 버전으로 돌리면 안 됩니다.

개발 환경 세팅할 때 package.json 버전 안 맞추면 빌드 터지는 거랑 똑같습니다. 이 모드는 Ironwail이라는 특정 소스 포트(Source Port)에 최적화되어 있습니다. 다른 엔진 쓰면 스크립트 에러 나거나 텍스처 깨집니다. 제발 하지 말라는 건 하지 마세요.

호환성 경고:

  • Quake Remaster (Kex Engine): 사용 불가. 호환성 문제 발생.
  • 권장 엔진: Ironwail 0.8.1 이상.

3. 설치 및 실행 가이드 (Action Plan)

복잡하게 설명 안 합니다. 아래 절차대로만 하세요. Standalone(단독 실행) 방식이 가장 깔끔합니다. 기존 퀘이크 설치 경로 꼬여서 DLL 에러 나는 것보다 낫습니다.

옵션 A: Standalone (추천 - 가장 안전함)
기존 퀘이크 파일 필요 없습니다. 그냥 받아서 실행하면 끝입니다.

  1. QBJ3 아카이브 파일을 다운로드합니다.
  2. 새 폴더를 만들고 압축을 풉니다.
  3. QBJ3.exe를 실행하세요.

옵션 B: Mod (기존 퀘이크 보유자용)
굳이 기존 설치본을 써야겠다면 디렉토리 구조(Path)를 정확히 지키세요.

  1. Ironwail 소스 포트를 다운로드하여 퀘이크 설치 폴더(Unknown/Quake/)에 넣습니다.
  2. QBJ3 압축 파일의 내용을 디렉토리 구조 유지한 채로 퀘이크 폴더에 풉니다.
  3. 폴더 안에 Ironwail.exe, id1 폴더, qbj3 폴더가 나란히 있어야 합니다.
  4. Ironwail.exe 실행 -> ESC 눌러 콘솔 창 열기.
  5. 콘솔에 다음 명령어 입력:
game qbj3

4. 개발자 관전 포인트

게임을 즐기는 것도 좋지만, 개발자라면 다음 포인트에 주목해서 플레이해보세요.

  • 리소스 제한: 1996년 엔진의 한계를 어떻게 우회했는가? (폴리곤 수, 광원 처리 등)
  • 모듈화: 77명의 서로 다른 개발자가 만든 맵이 충돌 없이 하나의 패키지로 구동되는 구조.
  • 커뮤니티 협업: Makkon, Fairweather 등 코어 팀이 "도구(Mod)"를 먼저 만들고, 커뮤니티가 "콘텐츠(Map)"를 채우는 방식. 이게 진정한 플랫폼 비즈니스 모델입니다.

마치며

코드는 자산이 아니라 부채입니다. 하지만 잘 관리된 부채는 레버리지가 됩니다. 30년 가까이 된 코드가 여전히 살아서 77개의 새로운 세계를 만들어내는 걸 보면 경이롭기까지 합니다.

주말에 최신 IDE 켜놓고 'Hello World'만 찍다가 딴짓하지 마시고, 이걸 한번 돌려보세요. 낡은 기술이 어떻게 생존하고 진화하는지, 그 투박한 콘크리트 벽 사이에서 답을 찾을 수도 있을 겁니다.

김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!