모바일 트릴로지 Bunker 3D, Laboratory 3D, Fortress 3D를 GZDoom/UZDoom으로 포팅
개발자가 Netsoftware의 모바일 게임 트릴로지 Bunker 3D, Laboratory 3D, Fortress 3D를 GZDoom과 UZDoom으로 이식하고 있습니다. 2000년대 중반 원작들은 GPU가 없는 휴대폰을 위해 제작되었으며, Wolfenstein 3D와 Blood 스타일의 레이캐스팅 그래픽을 사용했습니다. 세 게임 중 두 개가 완전히 변환되었습니다: 독점 형식에서 맵, 텍스처, 스프라이트를 추출해 UDMF에 맞게 적응시켰습니다. 계획에는 원본 맵을 별도 모드로 보존하면서 바닥/천장 텍스처 추가, 동적 조명, 사운드 이펙트가 포함됩니다. 목표는 첫 번째 게임 20주년 기념 릴리스입니다.
자원 추출 및 처리 단계
과정은 원본 코드 디컴파일로 시작합니다. RAM에 로드되는 레벨 로딩 함수를 .json으로 저장: 압축 데이터(게임 크기 <100 KB)로 최소 매개변수 집합에서 레벨을 재구성합니다.
변환은 Python으로 수행됩니다:
- JSON Parsing: 분석을 위해 데이터 구조화 — 텍스처 배열을 가진 벽(Doom에서는 sidedef가 하나의 텍스처만 가짐).
- Intermediate Format: Doom 로직 적응 — 바닥/천장 레벨을 위한 섹터, 벽을 linedef/sidedef로 분할.
- Export to UDMF: GZDoom/UZDoom과의 직접 호환을 위한 TEXTUREDEF, ANIMATED, MODELDEF 생성.
포팅 후 레벨 예시: "Warehouse"(첫 번째 레벨), "Training", "Harbor", "Prison". 원본 지오메트리는 보존되었으나, 렌더링 개선을 위해 섹터가 추가되었습니다.
적응의 기술적 특징
원본 형식은 모바일 플랫폼 제한에 철저히 최적화되어 있습니다: 명시적 텍스처 배열 없이 기본 프리미티브로 레벨이 구성됩니다. Python 스크립트가 이를 Doom 구조로 재구성합니다:
- 벽: 좌우에 고유 텍스처를 가진 세그먼트로 분할.
- 섹터: 바닥/천장 별도, 높이 지원.
- 스프라이트/모델: MODELDEF로 전송.
현재 상태: 두 게임의 자원 완전 변환. 남은 작업: 조명(섹터 밝기) 통합, 사운드(사운드 시퀀스), 세 번째 게임 폴리시.
컨버터 코드는 개발 중이며, 안정 릴리스는 추후 예상됩니다.
주요 포인트
- 트릴로지의 두 게임이 GZDoom/UZDoom용 UDMF로 완전 포팅.
- 원본 지오메트리 보존, 바닥/천장용 섹터 추가.
- Python 변환: JSON 덤프에서 TEXTUREDEF/MODELDEF로.
- 계획: 조명, 사운드, Bunker 3D 20주년 릴리스.
- Doom 모더들에게 유용: 레거시 레이캐스팅 자원 작업 예시.
— Editorial Team
아직 댓글이 없습니다.