Cities: Skylines 2에서 내 도시를 구현하고 싶었는데, Claude Code 덕분에 GitHub에서 요청받은 31개 도시의 무료 구역화 지도가 되었음
I wanted my real city in Cities: Skylines 2. With Claude Code it turned into a free zoning map of 31 cities that players request on GitHub
핵심 요약
Claude Code를 활용해 OpenStreetMap 데이터를 게임 내 구역으로 자동 변환하는 파이프라인을 구축하고 31개 도시 지도를 무료로 배포함.
- 자동화 파이프라인 — Claude Code를 통해 OSM 데이터를 게임 내 구역으로 변환하고 배포 과정을 자동화함.
- 성능 최적화 — MapLibre를 도입해 대도시 로딩 속도를 10배 이상 개선하고 메모리 사용량을 대폭 줄임.
- 데이터 보완 — OSM 데이터가 부족한 지역은 Google Open Buildings를 병합하여 지도 정확도를 높임.
- 워크플로우 관리 — CLAUDE.md 파일을 활용해 프로젝트 맥락을 유지하고 효율적으로 개발을 진행함.
Cities: Skylines 2에서 실제 도시를 그대로 구현해보고 싶어서, 어디가 주거 구역이고 어디가 상업, 사무, 공업 구역인지 알아야 했음. OpenStreetMap에 데이터는 있는데 게임 내 구역이랑은 안 맞더라고. 그래서 Claude Code로 건물들을 게임 구역에 맞춰 분류하고 웹 지도에 띄워주는 파이프라인을 만들었지. 그러다 다른 유저들이 자기네 도시도 해달라고 요청하기 시작해서, 지금은 16개국 31개 도시까지 늘어났고 전부 무료로 서비스 중임.
지도: https://osyanne.github.io/CitiesSkylines2-osm-toolkit/
코드 (MIT): https://github.com/Osyanne/CitiesSkylines2-osm-toolkit
Claude를 어떻게 활용했냐면:
-
도시 요청 처리: 유저들이 GitHub 이슈에 도시 좌표를 올리면, Claude한테 처리하라고 시킴. 그럼 얘가 OSM 데이터를 다운받고, 파이프라인 돌리고, 결과 확인하고, 썸네일 만들고, README랑 changelog 업데이트한 다음 PR까지 날려줌. 평소 쓰던 OSM 다운로드 서버가 클라우드 머신을 차단했을 때는 알아서 미러 사이트까지 찾아내더라.
-
Reddit 버그 제보: 누가 폰에서 지도가 깨진다고 해서 스크린샷을 Claude한테 보냈더니, 당일 바로 수정해서 배포함.
-
성능 최적화: 대도시를 불러오면 브라우저가 뻗어버렸음. 미니애폴리스 같은 경우 로딩에 자바스크립트만 14초, 메모리는 950MB나 잡아먹었거든. Claude가 지도를 MapLibre를 이용한 벡터 타일 방식으로 바꾸고 전후 성능을 측정해 보니까, 1.2초에 125MB로 줄어듦.
-
데이터 누락: OSM에 건물 정보가 거의 없는 도시는 지도가 텅 비어버리는 문제가 있었음. 해결책 있냐고 물어보니까 Google Open Buildings 데이터를 추가하되, OSM에 이미 있는 건물은 건너뛰는 방식을 제안하더라.
-
릴리즈 자동화: GitHub Action을 짜서, changelog만 머지하면 알아서 릴리즈까지 되게 만들어놨음.
가장 도움 됐던 것들:
-
CLAUDE.md 파일을 메모리로 활용: 미해결 과제나 프로젝트 특이사항을 여기 적어두니까, 세션을 새로 시작해도 맥락을 바로 파악함.
-
수치로 물어보기: 그냥 "더 빨라짐?"이라고 물으면 애매하게 답하는데, "전후 측정해봐"라고 하면 표로 딱 정리해서 가져옴.

