AI 요약
Felix Turner는 어린 시절 AD&D(Advanced Dungeons & Dragons) 던전 마스터 가이드의 랜덤 테이블에서 영감을 받아, Three.js WebGPU와 TSL 쉐이더를 사용한 절차적 헥스 맵 생성기를 구축했습니다. 이 시스템은 Maxim Gumin이 고안한 Wave Function Collapse(WFC) 알고리즘을 핵심 기술로 사용하며, 총 19개의 그리드에 걸친 4,123개의 헥스 셀을 약 20초 만에 생성해냅니다. 기존 사각형 맵과 달리 6개의 변을 가진 헥스 타일을 사용하여 제약 조건을 50% 늘렸으며, 30가지 타일 유형과 6개 회전, 5단계 고도를 조합해 셀마다 900개의 가능성을 계산합니다. 특히 대형 그리드에서 발생할 수 있는 알고리즘의 '교착 상태(Dead end)' 문제를 해결하기 위해 지도를 여러 구역으로 나누어 처리하는 모듈형 접근 방식을 도입했습니다. 이를 통해 도로, 강, 해안선, 숲 등이 포함된 정교한 중세 섬 지도를 결정론적으로 생성할 수 있게 되었습니다.
핵심 인사이트
- 대규모 연산 효율성: Maxim Gumin의 WFC 알고리즘을 기반으로 하여, 19개 그리드 내 4,123개의 헥스 셀을 20초 내외로 자동 생성하는 성능을 구현함.
- 복잡한 상태 조합: 30종의 타일 유형에 6개 회전 방향과 5단계 고도를 적용하여, 셀 하나당 최대 900개의 가능한 상태(states)를 연산함.
- 확장성 문제 해결: 217개 셀의 소형 그리드는 실패율이 낮지만 4,123개 셀의 대형 그리드에서는 오류가 잦아지는 특성을 발견하고, 이를 해결하기 위해 모듈형(Modular) WFC 방식을 도입함.
주요 디테일
- 기술 스택: Three.js WebGPU와 최신 TSL(Three.js Shading Language) 쉐이더를 활용하여 웹 브라우저 환경에서 고성능 절차적 렌더링을 실현함.
- WFC 알고리즘 작동 원리: 모든 셀이 중첩 상태에서 시작하여 엔트로피가 가장 낮은(제약이 많은) 셀부터 확정(Collapse)하고, 그 결과를 주변으로 전파(Propagate)하는 연쇄 과정을 거침.
- 타일 데이터 구조: 각 타일은 'ROAD_D'와 같은 고유 명칭과 함께 6개 방위(NE, E, SE, SW, W, NW)별 지형 타입 및 가중치(weight) 정보를 JSON 형태로 포함함.
- 디자인 제약 조건: 사각형 타일보다 50% 더 많은 6개의 모서리 제약 조건을 관리해야 하는 '조합 폭발(Combinatorial explosion)' 문제를 하드웨어 가속을 통해 해결함.
향후 전망
- 웹 기반 PCG 발전: WebGPU와 TSL을 활용한 이번 사례는 향후 웹 환경에서도 고사양의 절차적 콘텐츠 생성(PCG) 게임이 원활하게 구동될 수 있음을 증명함.
- 알고리즘 최적화: 대규모 맵 생성 시의 교착 상태를 해결한 모듈형 WFC 기법은 전략 시뮬레이션 및 오픈월드 게임의 맵 생성 효율성을 크게 개선할 것으로 기대됨.
