같은 수원 지도에서 다른 피해 상태를 보여주기

실제 도시 윤곽과 허구의 피해를 나눴습니다
LAST37N의 수원 월드에서 같은 상자 모양으로 보이던 건물을 용도와 위치에 맞춰 구분했습니다. 실제 OSM 건물 37,308개와 도로 15,722개의 원본 해시는 유지하면서 성문·성곽·전통 건물·녹지와 거리 표현을 추가했습니다. 지리 원본 위에 게임의 허구적 피해 상태를 얹는 작업입니다.
같은 PBF에서 건물 태그 37,230개, 녹지 1,175개, 성곽선 다섯 개를 ODbL 보조 데이터로 분리했습니다. 팔달문·장안문·화서문과 행궁 주변을 표현하고 성곽 충돌과 도로 틈은 서버와 일치시켰습니다. 실제 도시 전체를 정밀 복원했다고 설명하지는 않습니다.


피해 상태는 월드마다 재현 가능하게 만들었습니다
반파 18%, 그중 화재 2.5%는 게임 설정값입니다. 실제 수원의 피해 현황과 무관한 허구이며 월드별로 재현되도록 했습니다. 문화유산·시작 후보·안전구역·상호작용 지점은 피해 대상에서 보호합니다. 같은 도시 지리를 사용하더라도 플레이에 필요한 지점은 유지해야 하기 때문입니다.
아래는 원문에 확인된 지리와 피해 표현의 관계입니다. 실제 생성 함수 전체를 옮긴 코드는 아닙니다.
flowchart TD
A["OSM 원본 윤곽 보존"] --> B["도시 외형과 용도 표현"]
B --> C["월드별 허구 피해 선택"]
C --> D["보호 대상 제외"]
D --> E["반파와 제한된 화재 표현"]
화재의 표현 비용에도 상한을 뒀습니다
불꽃과 연기는 가까운 180m 안에서 최대 여섯 곳, 총 입자 예산 528로 제한했습니다. 동적 광원과 그림자는 사용하지 않았습니다. 공유 재질로 도시 메시를 묶고 주변 청크만 gzip으로 전송해, 도시 전체의 표현을 한 번에 처리하지 않도록 했습니다.
반파 건물은 원래 충돌을 유지하므로 부서져 보이는 곳으로 내부 진입할 수는 없습니다. 화재 피해·확산·진압도 구현하지 않았습니다. 외형이 바뀐 것과 새로운 플레이 규칙이 생긴 것을 구분해야 게임에서 실제 가능한 행동을 정확히 설명할 수 있습니다.
로컬 게임과 서버를 함께 확인했습니다
Windows·Web 빌드와 기본 로컬 서버 적용을 마친 뒤 Native 여섯 장면과 두 Edge의 실제 플레이 검사를 진행했습니다. 상호 위치, 한글 채팅, 점프·숙이기·재접속과 두 월드의 도시 재생성을 확인했고 수색·물 소비·인벤토리·거래·치료 UI도 회귀 검사했습니다.
서버와 실제 PostGIS 검사 89개는 실패와 건너뜀 없이 통과했습니다. 100개 접속의 90초 부하는 응답 p95 약 114ms, 오류 0이었지만 100개의 Unity 화면을 렌더한 시험은 아닙니다. Native 지오메트리 묶음 수나 배치 루프의 평균 FPS도 실제 전체 드로우 콜과 렌더 성능으로 바꾸어 보고하지 않았습니다.
남은 한계는 도시의 정확도와 실행 환경입니다
건물 높이 32,673개는 임시 9m이고 지형은 평면입니다. 성문과 거리의 특징을 보강했지만 정밀 디지털 트윈은 아닙니다. 게임은 당시 로컬 전용이었으며 외부 인터넷·모바일·저사양과 100개 Unity 화면의 성능도 미확인입니다. 이번 변경은 원본 지리를 보존하면서 도시를 알아보기 쉽게 하고, 월드별 피해를 재현 가능한 게임 표현으로 분리한 단계입니다.
미로


댓글
이 글에 대한 생각을 남겨 주세요.