3DGE

3DGE는 원래의 《DOOM》 엔진에서 발전한 무료·오픈 소스 게임 엔진 및 소스 포트 프로젝트로, hyper3DGE라는 명칭으로도 알려졌다. id Software가 공개한 DOOM 소스에서 DOSDoom과 EDGE로 이어진 기술을 바탕으로 개발됐으며, 3DGE 포크는 2011년에 공개...

분류DOOM 계열 게임 엔진, 소스 포트
명칭 관계3DGE, hyper3DGE, EDGE 계열
기술적 기원id Tech 1 → DOSDoom → EDGE
원래 EDGE 개발 시작1999년
3DGE 포크 시작2011년
개발 주체3DGE·EDGE 공개 개발 공동체
작성 언어C++
그래픽스 언어GLSL 등
게임 콘텐츠 정의Doom Definition File (DDF)
스크립팅COAL, Radius Trigger Script (RTS)
그래픽스OpenGL 기반 하드웨어 가속 렌더링
레벨·자산WAD 및 추가 에셋·모델 처리
지원 게임DOOM 계열, Heretic 및 포크별 지원 작품
지원 운영체제Windows, Linux, macOS 등; 일부 Dreamcast 포트
라이선스GNU GPL v2 이상
관련 프로젝트EDGE, Edge-Classic
공개 소스3dfxdev/EDGE

3DGE는 원래의 《DOOM》 엔진에서 발전한 무료·오픈 소스 게임 엔진 및 소스 포트 프로젝트로, hyper3DGE라는 명칭으로도 알려졌다. id Software가 공개한 DOOM 소스에서 DOSDoom과 EDGE로 이어진 기술을 바탕으로 개발됐으며, 3DGE 포크는 2011년에 공개되었다. 이후 이 포크의 개발 성과는 EDGE 본류와 다시 결합됐으므로 3DGE와 EDGE를 완전히 무관한 엔진으로 구분하는 것은 부정확하다.[1]

초기 DOOM 엔진은 섹터·선분 기반 2.5차원 공간과 소프트웨어 렌더링을 이용했지만, 3DGE·EDGE 계열은 OpenGL 하드웨어 가속과 더 폭넓은 재질·조명·모델 표현을 지원하도록 기능을 확장했다. 엔진 런타임은 C++로 구현되며, 그래픽 처리를 위한 셰이더와 추가 데이터·스크립트 시스템이 함께 사용된다. 이 기술은 원래 게임의 규칙을 보존하면서도 새로운 게임 콘텐츠를 제작하려는 모딩 공동체의 요구에서 발전했다.

대표적인 확장 기술은 Doom Definition File(DDF)이다. DDF는 적·무기·탄환·아이템 등 게임 객체의 정의를 실행 파일의 코드에서 직접 수정하지 않고 외부 텍스트 데이터로 기술할 수 있게 한다. 이는 원래 DOOM 게임 데이터를 제한적으로 수정하는 방식보다 복잡한 행동과 공격 유형을 정의하는 데 유리하며, 자체 게임 규칙을 추가하는 모드와 전체 변환 프로젝트에 활용됐다.[2]

게임플레이와 사용자 인터페이스의 추가 동작에는 COAL과 Radius Trigger Script(RTS) 등의 스크립팅 기술을 사용할 수 있다. COAL은 QuakeC에서 영향을 받은 언어로 사용자 인터페이스와 게임 관련 상호작용을 표현하는 데 활용됐다. DDF가 무기·객체의 정의를 담당한다면 COAL·RTS는 실행 시점의 동작과 화면 또는 레벨 이벤트를 제어하는 역할을 맡는다.[3]

EDGE·3DGE는 Windows·Linux 등의 운영체제에서 실행되도록 개발됐으며 Dreamcast용으로 이식된 실험적 계열도 존재한다. 오픈 소스 저장소는 GNU GPL v2 이상으로 배포되지만 원작 《DOOM》 및 다른 상업용 게임에 포함된 그래픽·음향·WAD 자료의 배포 권한은 엔진 코드와 별개다. GZDoom처럼 DOOM 엔진의 후속 소스 포트에 속하지만 스크립팅 구조와 그래픽스 기능 및 지원하는 모드의 형태는 프로젝트마다 다르다.[4]

역사

DOSDoom과 EDGE

3DGE 포크

EDGE 본류와의 관계

엔진 구조

OpenGL 렌더링

DDF 객체 정의

COAL과 RTS

게임 자산과 맵

지원 게임과 플랫폼

소스 코드·라이선스

관련 소스 포트

관련 문서

  1. DoomWiki: EDGE의 개발 계보 ↩
  2. 3DGE Wiki: Doom Definition File ↩
  3. 3DGE Wiki: COAL ↩
  4. EDGE 공식 소스와 GPL 안내 ↩