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]