# 한반도 지형과 낙진 지도

- 지도는 주인공을 따라갑니다. 도시 사이를 이동할 때도 캐릭터가 화면 중심을 유지합니다.
- **전체 지도**는 만주·일본·중국 일부까지, **한반도**는 한반도 전체를 보여줍니다. 지도를 드래그하거나 방향키를 누르면 자유 탐색으로 바뀝니다. **캐릭터 추적**으로 돌아옵니다.
- **☢ 오염도**는 지도 위에 낙진 분포를 겹칩니다. 카메라·확대·지도 열람은 시간이나 자원을 소비하지 않습니다. 전체 지도를 보는 중에도 진행 중인 이동은 계속되며, 이동창의 잠시 멈춤으로 정지합니다.
- 숲·구릉, 봉우리로 표현한 산맥, 고원·고산, 경작지 무늬의 평지, 분지, 갯벌, 강, 잿빛 황무지를 구분합니다. 도시의 크기 표시는 기존 대도시·중소도시·소도시를 유지합니다.

## 방사능 게임 규칙

핵탄두가 떨어진 곳은 서울 한 곳입니다. 수도권과 동부 낙진대에 높은 오염이 남아 있고, 일부 산업 폐허에는 방치된 오염 폐기물이 있습니다. 오염 수치와 확산 형태는 **허구의 게임 설정**이며 현실 측정값·낙진 예측을 의미하지 않습니다.

119개 도시에 위치별 오염도를 부여합니다. 도시 규모나 적의 위험도와 독립적입니다. 예: 서울 +4.97, 인천 +2.90, 춘천 +1.01, 대구 +0.12, 부산 +0.08/게임 시간. 선택 도시의 오염도는 지도 도시 표식에서, 현재 위치의 실제 피폭량은 수색 화면에서 확인합니다.

등급은 시간당 +0.40 미만 낮음, +0.40 이상 주의, +1.50 이상 높음, +3.50 이상 극심입니다. 도시 표식 옆 색 점도 같은 등급입니다. 방독면은 피폭량을 ½, 실내는 ¼로 줄이며 중첩됩니다. 누적 방사능은 기존 건강 시스템의 방사선 질환으로 이어집니다.

도시 간 이동 중에는 매 게임 분마다 경로의 지리적 위치를 계산해 그 구간의 낙진을 적용합니다. 프레임 속도와 무관하게 같은 여정은 같은 피폭량을 냅니다. 일시정지·새로고침은 이미 받은 피폭량을 유지하고 멈춘 동안 추가 피폭은 없습니다. 기존 저장 데이터의 체력·아이템·위치·질환은 그대로 읽으며, 이후 흐르는 시간부터 새 환경 수치를 사용합니다.

지도에서 임의의 육지를 선택해 자유롭게 걷습니다. 산지·갯벌·도하의 이동 시간과 기력 비용이 다르며, 강변·숲·황무지 등의 자원을 실제 도착 지점에서 채집합니다. 바다와 깊은 호수는 육로로 건널 수 없습니다. 자세한 배수·채집·중간 정지·저장 규칙은 [야외 자유 탐험](WILDERNESS.md)을 참고하세요.

## 지리 자료

- [Natural Earth 1:10m Rivers + Lake Centerlines v5.0.0](https://www.naturalearthdata.com/downloads/10m-physical-vectors/10m-rivers-lake-centerlines/): 한강·남한강·낙동강·압록강·두만강 및 주변국 하천. 범위 안의 70개 선분, 6,867개 좌표점. Public domain.
- [Natural Earth 1:50m Physical Vectors](https://www.naturalearthdata.com/downloads/50m-physical-vectors/): 기존 해안선·호수. Public domain.
- [국토지리정보원 대한민국 국가지도집: 지형](https://nationalatlas.ngii.go.kr/pages/page_2287.php), [북한의 자연환경](https://nationalatlas.ngii.go.kr/pages/page_3875.php): 주요 산맥의 방향과 평야·고원 배치 참고.
- [한국의 갯벌: 유산 현황](https://www.getbolworldheritage.org/unesco/current): 서천·고창·신안·보성·순천 갯벌 위치 참고.
- [GeoNames](https://www.geonames.org/): 기존 실제 도시 좌표, 자세한 라이선스는 CITY-SOURCES.txt 참고.

작은 하천(북한강·임진강·금강·섬진강·영산강·대동강·청천강)은 지리적 위치를 참고해 수동으로 간략화한 경로입니다. 산맥 폭, 분지·평야·갯벌의 범위와 주변국 산지 역시 게임용 도식이며 측량 경계나 실제 고도 데이터가 아닙니다. 해안선은 1:50m이므로 1:10m 하천과 하구가 약간 어긋날 수 있습니다. 산맥 등 육지 지형은 이동 비용을 바꾸며 바다·깊은 호수는 이동을 막습니다.

자료는 게임 안에 포함되어 실행 중 외부 API가 필요하지 않습니다. 전체 지도는 1024×1024 개요 지도를 쓰고, 확대 시 별도의 상세 청크를 그립니다. 상세 화면에서는 원본 해안선·하천 좌표를 정수로 반올림하지 않습니다. 저장 파일과 카메라 상태는 분리되어 있습니다. 하천 데이터 재생성 도구는 저장소의 `tools/build-world-rivers.py`입니다.


## 확대 지도와 LOD

최대 확대는 256배입니다. 이동 시작은 캐릭터 추적만 켜며 현재 확대 배율을 유지합니다. 이동 중 일시정지·재개·도착도 배율을 바꾸지 않습니다. ＋/−, 휠, 키보드 확대의 한계는 동일합니다.

카메라 높이 150 지도 단위 이내에서 화면 해상도에 따라 4단계 상세 지형을 사용합니다. 256픽셀 청크를 지도 1단위당 4 / 16 / 64 / 128픽셀로 그립니다. 가장 가까운 화면에서 숲의 나무 군락·빈터, 경작지 이랑, 산의 등고선·암벽, 갯벌 수로, 강둑과 물결, 황무지의 잔해·고사목이 나타납니다. 세계 지도에는 도시 표식만 표시하고, 실제로 수색하는 건물과 도로는 도시 접근 후 별도의 시가지 화면에서 표시합니다. 먼 화면에서는 이를 생략합니다. 원본 지리 자료에 없는 건물 배치·나무·잔해는 고정된 좌표 기반 절차 생성입니다. 실제 건물 지도나 고해상도 위성·고도 자료를 추가한 것은 아닙니다.

현재 화면과 교차하는 청크만 생성하고, 한 번에 표시하는 청크는 최대 64개입니다. 재방문용 캐시는 최대 96개(각 258×258픽셀, 경계 여백 포함)입니다. 중심에서 바깥 순으로 작은 작업 묶음으로 생성하여 입력과 이동을 처리할 틈을 주며, 확대 단계를 바꾸는 동안 이전 상세 화면을 밑에 유지합니다. 청크 경계의 여백과 동일한 세계 좌표 샘플로 이음새를 줄입니다. 줌·카메라는 지형 충돌과 자원, 저장 상태를 바꾸지 않습니다.

강 폭·도하 구역, 암벽의 충돌 형태는 상세 렌더러와 길찾기가 공유합니다. ╫ 임시 교량은 시간·기력 ×1.15, ≋ 여울은 ×3.40이며 깊은 강은 두 시설 외에서 통과하지 못합니다. 산지는 ×2.25로 느려지고 급경사 암벽은 우회합니다. 지역 정보에는 지형에 의한 속도 비율과 통행 불가 이유가 표시됩니다. 자세한 다른 지형 배수는 [야외 자유 탐험](WILDERNESS.md)에 있습니다.

파일: `world-detail.js`(청크·LOD·그림), `world-traversal.js`(강·교량·여울·암벽·접안로), `wilderness.js`(경로·이동 비용). 외부 타일 서버나 실행 중 다운로드는 없습니다.
