- 1999년 게임 Sid Meier’s Alpha Centauri의 행성 Chiron을 실제 지도 제작 방식으로 재구성해, 128×64 타일 기반 게임 지도를 고해상도 포스터 지도로 확장함
- 핵심 작업은 게임 속 8,192개 타일의 고도값을 직접 기록하고, 강수량·암석도·xenofungus 데이터를 스크린샷과 QGIS 샘플링으로 추출하는 것이었음
- Chiron이 구형 행성으로 묘사되고 게임 지도가 좌우로 이어진다는 점을 바탕으로, 원본 지도에 cylindrical equal area projection과 Trystan Edwards 변형을 부여함
- 낮은 해상도의 격자 데이터는 무작위 점 분산, TIN 보간, Delaunay 삼각분할, 노이즈, 수동 보정, 극지 DEM 재작성으로 더 유기적인 지형 모델이 됨
- 최종 지도는 QGIS, Python, Photoshop, Illustrator, Eduard를 함께 사용한 결과물이며, 허구 세계의 지도도 쓸 만한 기존 데이터가 있을 때 실제 지도 제작 기법으로 확장 가능함
Alpha Centauri의 Chiron을 지도화한 프로젝트
- 결과물은 Sid Meier’s Alpha Centauri의 배경 행성 Chiron을 다룬 포스터 지도임
- Chiron은 게임의 배경이자 핵심 요소 중 하나이며, 공식 내장 지도는 게임 디자이너 Chris Pine이 제작함
- 글의 중심은 게임 소개보다, 게임 속 데이터를 실제 지도 제작 절차로 바꾸는 제작 과정에 있음
- 이 프로젝트는 기존 지도 제작 역량을 허구 세계에 적용한 사례이지만, 처음부터 세계를 창작한 판타지 지도와는 성격이 다름
실제 지도와 허구 지도 사이의 차이
- 실제 세계 지도 제작은 주어진 지리 데이터를 조작하고 스타일링하는 작업에 가까움
- 판타지나 SF 지도를 처음부터 만들려면 데이터 자체를 새로 만들어야 하므로 다른 역량이 필요함
- 제작자는 자신을 데이터 생성자보다 데이터 조작자에 가깝게 봄
- Chiron 지도를 만들 수 있었던 결정적 이유는 게임 안에 활용 가능한 기존 데이터가 있었기 때문임
게임 데이터 수집
- Alpha Centauri의 공식 지도는 128×64 다이아몬드형 픽셀로 구성됨
- 각 픽셀에는 고도, 강수량, 암석도 같은 속성이 들어 있음
-
고도값 전사
- 게임이 각 타일의 정확한 고도값을 표시한다는 점을 이용함
- 총 8,192개 타일의 고도값을 직접 기록하고, 전사 오류를 줄이기 위해 다시 확인함
- 이 작업은 2022년에 시작해 2025년에 마무리됨
-
강수량과 암석도
- 강수량 데이터는 원본 게임에는 없는 모드의 주제도를 활용함
- 강수량은 rainy, moist, arid의 3단계로 나뉨
- 전체 지도를 스크린샷으로 캡처한 뒤 Photoshop에서 색상을 분리하고, QGIS에서 격자별 벡터 포인트로 래스터 값을 샘플링함
- 지도 요소가 강수량 정보를 가리는 부분은 수동으로 보정함
- 암석도도 같은 절차로 추출했지만 최종 지도에는 사용하지 않음
-
xenofungus
- xenofungus는 Chiron의 토착 생명체이며, 게임 지도에서는 분홍색 또는 붉은색 지표로 나타남
- 이 데이터는 존재 여부만 있는 이진 데이터임
- 별도 주제도가 없어 일반 게임 지도에서 분홍·붉은 계열 픽셀을 샘플링한 뒤 보정함
투영법 설정
- 게임 세계는 좌우로 무한히 이동할 수 있고 위아래 끝에서는 멈추는 원통형 지도처럼 동작함
- Chiron은 게임의 여러 매체와 타이틀 화면에서 둥근 행성으로 나타나므로, 2D 지도는 구체 행성의 표현으로 간주함
- 게임에서 기지를 세우면 위치와 무관하게 같은 수의 픽셀 영역을 통제하므로, 각 픽셀이 같은 면적을 나타낸다고 가정함
- 이 조건에 맞춰 게임 지도에 cylindrical equal area projection을 부여함
- 표준 위선을 37.4°로 설정하면 게임 지도와 같은 종횡비가 나오며, 이는 Trystan Edwards projection에 해당함
- 이 투영 설정은 이후 QGIS에서 생성한 데이터셋의 좌표 처리 기준으로 사용됨
저해상도 고도 격자를 DEM으로 확장
- 원본 고도 데이터는 128×64 격자라서 포스터 지도에 쓰기에는 해상도가 매우 낮음
- 목표는 게임 내 알려진 사실을 유지하면서 더 상세한 디지털 고도 모델을 만드는 것이었음
-
무작위 점과 TIN 보간
- 각 타일 위에 무작위 점을 흩뿌리되, 점들이 너무 몰리지 않도록 최소 거리를 둠
- 각 격자 타일마다 대략 1~3개의 점이 생기고, 점이 없는 타일에는 중심점을 추가함
- 각 점은 자신이 놓인 타일의 고도값을 받음
- 이후 TIN 보간으로 초기 고도 모델을 생성해 원래 격자만 사용한 보간보다 격자 느낌을 줄임
-
Delaunay 삼각분할과 노이즈
- 더 세밀한 지형을 위해 Delaunay 삼각분할을 반복 사용함
- 무작위 점들 사이의 삼각형 중심에 새 점을 추가하고, 새 점의 고도는 주변 세 점의 평균으로 정함
- 각 점의 고도에 작은 무작위 노이즈를 더해 요철을 만들며, 반복할수록 노이즈 폭을 줄임
수동 보정과 Garland Crater
- 보간 결과가 공식 Chiron 지도와 어긋나는 곳은 수동으로 보정함
- 공식 지도에서 섬인 곳이 보간 결과에서는 본토와 이어지거나, 너무 작게 나온 섬이 최종 지도에서 보이지 않는 문제가 있었음
- 이런 지역에는 추가 고도점을 넣어 형태를 조정함
- Garland Crater는 원본 격자 고도값만 보면 사각형에 가깝지만, 게임의 시각적 표현은 원형 의도를 보임
- 이 지역은 rubbersheeting으로 원래 고도점을 이동시켜 더 원형에 가까운 분화구로 보정함
스무딩과 극지 DEM
- 보간 뒤에는 여러 스무딩 절차를 섞어 적용함
- focal statistics의 mean과 median 사용
- QGIS의 Karika plugin을 통한 line integral convolution 사용
- 약간의 Perlin noise 추가
- 스무딩된 레이어와 원본 레이어를 다시 섞고 재스무딩함
- 정확한 공식보다 결과가 적절해 보일 때까지 조정하는 방식에 가까웠음
- 원본 원통 투영에서는 극지방이 크게 늘어나므로, 북극과 남극은 별도 투영으로 다시 고도 보간을 수행함
- 극지에는 게임 데이터가 없는 큰 영역이 있어 중앙부에 거의 무작위 노이즈를 뿌림
- 북극과 남극 DEM은 향후 해당 지역 지도에 쓸 수 있도록 따로 만들고, 메인 DEM에도 다시 블렌딩함
- 이후에도 누락된 호수나 작은 섬이 발견되어 일부는 DEM 수정으로, 일부는 지도 제작 단계의 수동 드로잉으로 보정함
Orthoapsidal 투영과 커스텀 스크립트
- 메인 지도에는 orthoapsidal, 또는 Raisz Armadillo projection을 사용함
- 이 투영은 독자가 곡면을 보고 있다는 느낌을 직접적으로 주기 때문에 선택됨
- QGIS에는 이 투영이 없어, Wikipedia의 변환 공식을 바탕으로 Python 스크립트를 직접 작성함
- PyQGIS 사용에는 아직 익숙하지 않아 ChatGPT의 도움도 받음
- Chiron의 대륙 배치에 맞게 투영을 수정함
- 기본 수직 기울기 20°를 -10°로 바꿈
- 좌우 곡률을 줄임
- 먼저 수평 방향으로 지도를 줄이고 투영한 뒤, 다시 수평으로 늘려 가장자리 압축 왜곡을 줄임
- 스크립트는 벡터만 처리했기 때문에 DEM 같은 래스터는 각 픽셀을 폴리곤으로 바꿔 투영하고 다시 래스터화함
- 이 방식은 이상적이지 않고 처리 시간이 길었지만 실제 작업에는 동작함
Photoshop 중심의 지도 레이어 제작
- 최종 지도는 대부분 Photoshop에서 레이어를 쌓아 구성함
- 해저 지형은 0 이하 고도값을 가진 DEM 부분을 흑백 래스터로 만들고, gradient map으로 파란색 계열로 재색상화함
- 육지는 재투영한 고도 모델에서 수중 값을 잘라내고, Eduard를 통해 스위스식 손그림 음영 기복을 시뮬레이션함
- 해안선에는 내부 glow를 넣어 육지와 물을 분리하고, 해안 근처의 산지가 서서히 사라지는 효과를 줌
- 게임 고도값이 울퉁불퉁해 산이 해안 바로 옆에 갑자기 나타나는 경우가 많았고, 해안부를 조금 덜 험하게 보이도록 처리함
- 육지 기복은 hue/saturation 레이어로 갈색 계열을 입히고, 작은 색상 노이즈를 추가해 더 유기적으로 보이게 함
강수량 기반 식생 표현
- 게임의 공식 지도처럼 강수량 데이터를 식생 표현에 사용함
- 기복 레이어를 복사해 초록색으로 색칠하고, 색상 노이즈와 명암 조정 레이어를 더함
- 초록 기복 레이어와 갈색 기복 레이어를 섞는 마스크는 강수량 데이터에서 나옴
- QGIS에서 재투영한 강수량 포인트에 thin plate spline interpolation을 적용해 마스크 기반을 만듦
- Photoshop에서는 dissolve blending mode와 블러·샤프닝 필터로 점状의 부드러운 노이즈 텍스처를 만듦
- 이 마스크는 비가 많은 곳에서 건조한 곳으로 넘어갈 때 식생이 투명해지는 대신, 식물 수가 줄어드는 것처럼 보이게 함
- 인쇄물에서는 확대경 없이는 잘 안 보일 수 있지만, 화면에서는 더 자연스러운 식생 경계를 기대할 수 있음
Xenofungus와 강
- xenofungus는 육지와 바다에 모두 나타남
- 육지의 xenofungus는 식생과 거의 같은 방식으로 처리함
- 포인트 데이터를 보간함
- 부드럽게 만들고 노이즈화함
- 붉은색 기복 레이어의 마스크로 사용함
- 바다의 xenofungus는 같은 점状 마스크를 사용하되, 물 영역에만 잘리도록 별도 보라색 레이어로 넣음
- 바다 fungus 레이어는 linear burn 블렌딩 모드로 하부 물색과 섞임
- 게임 지도에 있는 강은 격자에 갇혀 매우 사각형이므로 QGIS에서 수동으로 다시 그림
- Illustrator에서 강의 발원부에 약한 taper를 주고, Photoshop에서 색상과 bevel을 넣어 땅을 파고 흐르는 느낌을 줌
- DEM 기반 수문 분석도 시도했지만, 지형이 너무 울퉁불퉁해 내륙유역과 짧은 강이 많이 생겼고 직접 그리는 편이 쉬웠음
색감, 페인팅 효과, 곡면 강조
- 전체 지도에는 채도 증가를 적용하고, 곡률을 시각화하기 위해 graticule을 추가함
- 채도 증가는 처음에는 Photoshop 레이어 이동 중 우연히 생겼지만, 결과가 마음에 들어 유지함
- 평소보다 더 강한 색상 체계가 되었고, 개인 프로젝트에서의 실험으로 받아들임
- 지도를 단일 레이어로 평탄화해 축소한 뒤 Photoshop의 dry brush 필터를 적용해 반쯤 칠한 듯한 질감을 만듦
- 필터 결과가 너무 흐려 원본 지도와 50:50으로 섞고, 디테일과 회화적 부드러움의 균형을 맞춤
- 마지막으로 가장자리에 내부 그림자를 넣어 빛이 줄어드는 느낌을 만들고, 평면이 아니라 곡면이라는 인상을 강조함
라벨링과 글꼴 선택
- 초기 라벨링은 Photoshop보다 글자 도구가 나은 Adobe Illustrator에서 수행함
- 완성된 라벨은 Photoshop으로 다시 가져와 지도와 섞음
- 각 라벨 아래의 지도를 흐리게 해 텍스트 가장자리가 배경보다 선명하게 보이도록 함
- 밝은 글자를 밝은 배경에, 어두운 글자를 어두운 배경에 올릴 수 있도록 glow와 smart halos 기법을 사용함
- 모든 라벨은 Sarah Bell이 설계한 BellTopo Sans로 설정함
- serif는 지도의 강한 색감에 비해 너무 섬세해 보이고 SF 지도와 어울리지 않는다고 판단함
- 게임 자체의 글꼴인 Eurostile은 부드러운 팔레트와 스타일의 지도에는 너무 딱딱해 보였음
- BellTopo Sans는 산세리프의 강도와 손그림 느낌의 인문적 요소를 함께 갖고 있어 적합하다고 봄
모호한 지명과 포스터 구성
- 게임의 지형지물은 항상 명확히 라벨링되어 있지 않고, 흰색 텍스트가 단일 격자 타일 위에 놓인 형태임
- 많은 경우 지형의 경계를 직접 해석해야 했음
- Planetneck은 가장 어려운 사례였음
- 손가락 모양의 물길을 가리키는지, 그 위를 가로지르는 땅을 가리키는지 모호했음
- 게임 지도에는 육지와 물 모두 통행 가능한 얇은 갈색 선 지역도 있어 해석이 더 어려웠음
- 최종적으로 길고 좁은 만의 입구를 뜻하는 것으로 결정함
- 이 결정은 공식 지도에 다른 해협 이름들이 존재한다는 점과 맞음
- 공식 지도에는 이름이 32개뿐이며, 이 규모의 지도치고는 매우 적음
- 새 이름을 만들기는 불편했기 때문에 기존 이름만 사용함
- 최종 포스터에는 메인 지도 외에 같은 데이터셋과 기법으로 만든 작은 지도도 포함함
- 고도 데이터를 더 분명히 보여주는 지도
- 왜곡이 적은 극지 지도 2개
- 배경과 지도에는 게임 인터페이스에 대한 오마주로 희미한 scanline을 추가함
- 제목과 프레임의 파란색도 게임 인터페이스를 떠올리게 하는 요소임
작업의 한계와 다음 가능성
- 전체 과정은 게임 데이터의 지루한 샘플링, GIS 변환, 커스텀 투영 조정, Photoshop 레이어 구축이 결합된 매우 노동집약적 작업이었음
- 실제 진행은 설명처럼 효율적인 순서가 아니었고, 여러 달의 시행착오와 막다른 길이 있었음
- 현재 데이터셋이 있으므로 향후 Chiron의 작은 영역을 확대해 더 큰 축척의 지도를 만들 가능성이 있음
- 그 경우 알려진 고도값을 유지하면서 더 현실적인 지형을 생성하는 방법을 탐색할 수 있음
- 암석도 데이터는 최종 디자인 이후에야 활용 가능성을 떠올렸고, 이 축척에서는 큰 차이를 만들지 않았지만 확대 지도에서는 영향을 줄 수 있음
- 원본 DEM에는 아직 누락된 호수와 섬 같은 정리가 더 필요함
- 더 현실적인 고도 모델을 만드는 방법을 알게 되면 기존 DEM을 더 나은 것으로 대체할 가능성이 있음
- 이 프로젝트는 기존 데이터가 있었기 때문에 가능했고, 허구 세계라도 데이터 조작 능력을 실제 지도 제작 방식으로 적용할 수 있음을 보여줌