1993년 그래픽 감성, 'Catlantean 3D' 개발 비하인드

by DD
3일 전
조회수 0

1990년대 초반 그래픽 기법을 현대 기술로 재현하는 'Catlantean 3D' 게임 개발기

팔레트 렌더링(Palette Rendering)320x240 해상도, 256색 제한 등 엄격한 제약 조건 하에 개발 진행

애셋 생성(Asset Creation)블렌더(Blender) 사전 렌더링파이썬 스크립트 활용, 수작업 스프라이트 병행

자체 맵 에디터(Custom Map Editor) 개발로 라이트 레벨 페인팅 등 특수 기능 지원

팔레트 렌더링(Palette Rendering)의 제약과 창의성

커뮤니티에서는 320x240 해상도와 256색 제한이라는 기술적 제약(Technical Constraints)이 오히려 자산 생성(Asset Creation) 과정에서 의도적인 선택(Deliberate Choices)을 강요하며 독특한 시각적 스타일을 만들어낸다고 평가함. 특히 Doom이나 Duke Nukem 같은 고전 게임의 명료함(Crispiness and Clarity)을 재현하려는 시도가 흥미롭다는 의견이 많음. 픽셀 단위의 색상 선택(Color Choice)이 중요해지면서, 개발자는 제한된 팔레트 내에서 투명도, 흰색, 검은색, 그리고 게임 테마에 맞는 색상을 신중하게 조합해야 함.

콜맵(Colormap)을 활용한 실시간 조명 효과 구현

논의에서는 팔레트 기반 렌더러에서 실시간 조명(Real-time Lighting)을 구현하기 위해 콜맵(Colormap)이라는 기법을 사용한 점을 주목함. 현대적인 셰이더(Shader) 없이도 거리 기반의 색상 감쇠(Color Diminishing) 효과를 구현하기 위해, 미리 계산된 팔레트 인덱스(Palette Index)를 O(1) 시간에 조회하는 방식은 매우 효율적이라는 평가. 특히 Oklab 색 공간(Oklab Color Space)휴 시프팅(Hue Shifting)을 적용하여 인간의 시각적 인지에 더 가까운 자연스러운 색감 변화를 구현한 점이 인상 깊다는 의견이 있음.

블렌더(Blender)와 파이썬(Python)을 활용한 애셋 생성 워크플로우

개발자는 블렌더(Blender)의 파이썬 API를 활용하여 3D 모델을 렌더링하고 이를 게임 엔진용 텍스처로 변환하는 자동화된 파이프라인(Automated Pipeline)을 구축함. 이 방식은 반복 작업(Reiteration) 시간을 크게 단축시키지만, 렌더링된 결과물의 흐릿함(Blurriness)색상 양자화(Color Quantization) 문제를 해결하기 위해 팔레트 양자화 스크립트블렌더 컴포지팅(Blender Compositing) 기능을 적극 활용했다고 설명함. 또한, 보로노이 분해(Voronoi Decomposition)를 이용한 파편화(Gibbing) 애니메이션 생성 방식도 독창적이라는 평가.

자체 개발 맵 에디터(Custom Map Editor)의 필요성

기존 상용 툴(Tiled)의 한계를 극복하기 위해 자체 맵 에디터(Custom Map Editor)를 개발한 결정에 대해 커뮤니티는 긍정적으로 평가함. 라이트 레벨 페인팅(Light Level Painting), 셀 플래그(Cell Flags) 등 게임 엔진의 특정 요구사항을 네이티브로 지원함으로써 개발 워크플로우가 크게 개선되었다는 점을 높이 삼. 또한, 최종 사용자에게도 동일한 에디터를 제공하여 플러그 앤 플레이(Plug and Play) 경험을 제공하려는 의도가 좋다는 의견이 있음. wxPython을 사용한 UI 구현도 언급됨.

Catlantean 3D - Making Graphics Like It's 1993