# 게임 속 도로의 예술

> Clean Markdown view of GeekNews topic #26534. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26534](https://news.hada.io/topic?id=26534)
- GeekNews Markdown: [https://news.hada.io/topic/26534.md](https://news.hada.io/topic/26534.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-02-09T19:32:49+09:00
- Updated: 2026-02-09T19:32:49+09:00
- Original source: [sandboxspirit.com](https://sandboxspirit.com/blog/art-of-roads-in-games/)
- Points: 2
- Comments: 1

## Topic Body

- 도시 건설 게임에서 **도로 시스템의 사실적 구현**은 핵심 요소로, 단순한 시각적 요소를 넘어 구조적 완성도를 결정하는 기반임  
- 기존 게임들은 **Bezier 스플라인**을 사용해 도로를 표현하지만, 이는 실제 도로의 **곡률과 평행성 유지**에 한계를 가짐  
- 현실의 도로는 차량의 **차축 간 거리와 곡선 제약**을 반영해야 하며, Bezier 방식은 오프셋 시 형태가 왜곡되어 **비현실적인 곡선**을 초래함  
- 이를 해결하기 위해 **원호(Circle Arc)** 와 **클로소이드(Clothoid)** 같은 공학적 곡선을 적용하면, **부드러운 곡률 변화와 병렬 오프셋 유지**가 가능함  
- 작성자는 이러한 한계를 극복하기 위해 **직접 도로 시스템을 구축**했으며, 향후 기술적 구현 과정을 공개할 예정임  

---

### 도로와 패턴의 매력
- 자연의 **질서 속 무질서한 패턴**에서 느끼는 만족감을 도로에서도 발견함  
  - 개미굴, 벌집, 잎맥처럼 단순한 규칙이 쌓여 복잡한 구조를 만드는 현상에 비유  
  - 도로망 역시 인간이 만든 가장 흥미로운 패턴 중 하나로 묘사됨  
- 도시가 사라진 후에도 남을 **도로망의 흔적**을 상상하며, 그 구조적 아름다움을 강조함  

### 도시 건설 게임과 도로의 진화
- **SimCity 2000**부터 **Cities: Skylines 2**까지, 도로 시스템은 꾸준히 발전해 왔음  
  - SimCity 4는 **고도와 대각선 도로**, SimCity 2013은 **곡선 도로**, Cities: Skylines는 **자유로운 배치와 교차로 구성**을 지원  
- 그러나 여전히 **곡선의 부자연스러움, 급격한 회전 반경, 비현실적 고속도로 램프** 등의 문제가 존재  
- **모드(Mod)** 를 통해 현실적인 차선, 표식, 곡선 구현이 가능해졌지만, 여전히 **엔진의 근본적 제약**을 벗어나지 못함  

### Bezier 스플라인의 한계
- Bezier 곡선은 **두 점 사이를 부드럽게 연결**하는 강력한 수학적 도구로, 대부분의 게임 엔진에서 사용됨  
- 그러나 이 곡선은 **오프셋 시 형태와 곡률이 유지되지 않음**, 즉 “Bezier 곡선의 오프셋은 Bezier 곡선이 아님”  
- 이로 인해 **내측과 외측 곡선의 불일치**, **자기 교차**, **핀칭(pinch)** 현상이 발생  
- 결과적으로 현실의 도로처럼 **차량 궤적을 반영한 병렬 곡선**을 구현하기 어려움  

### 원호(Circle Arc)와 클로소이드(Clothoid)의 적용
- **원호**는 오프셋 후에도 동일한 형태를 유지하는 **완벽한 평행성**을 제공  
  - 두 원호의 교차 계산은 Bezier보다 훨씬 단순하며, **O(1)** 의 계산 복잡도로 효율적  
  - 서로 다른 반지름의 원호를 연결하면 **공학적으로 타당한 도로 형태**를 구성 가능  
- 그러나 원호는 **곡률이 일정**하여, 직선에서 곡선으로 진입 시 **측면 가속도의 급격한 변화**가 발생  
- 이를 보완하기 위해 **클로소이드(Clothoid)** 가 사용됨  
  - 곡률이 점진적으로 증가해 **자연스러운 조향과 승차감**을 제공  
  - 수학적으로 복잡하지만, **고속 주행 도로 설계에 필수적**  
- 도시 내 교차로처럼 저속 구간에서는 **원호 기반 설계**로도 충분한 현실감을 확보 가능  

### 직접 도로 시스템을 만든 이유
- 대부분의 플레이어는 **교차로 곡률의 정확성**에 큰 관심이 없지만, 개발자는 **호기심과 기술적 도전**으로 이를 탐구함  
- 기존 상용 게임의 구현 수준은 높지만, **인디 개발자가 접근할 수 있는 자료나 에셋은 부족**  
- 단순한 격자형 도로 대신, **더 정교하고 공유 가능한 시스템**을 만들기 위해 자체 구현을 진행  
- 다음 글에서 **기술적 세부 구현 과정**을 공개할 예정이며, 구독을 통해 업데이트를 받을 수 있음

## Comments



### Comment 50906

- Author: neo
- Created: 2026-02-09T19:32:49+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46938511) 
- 도시 건설 게임에서 **도로**가 핵심이라 말한 글을 보고, 나는 도시계획가들이 악몽 꾸는 이유를 알 것 같음  
  도시의 기반은 자동차용 **도로(road)** 가 아니라, 보행자·자전거·대중교통이 함께 쓰는 **거리(street)** 임  
  관련 개념으로 [Stroad](https://en.wikipedia.org/wiki/Stroad) 문서를 참고할 만함
  - 두 단어의 차이를 생각해본 적 없었는데, Wikipedia 설명을 보니 납득됨  
    도로는 **운송(transportation)** 중심이고, 거리는 **공공 상호작용(public interaction)** 중심임  
    그래도 나는 원문 인용이 과하게 비판받는다고 느낌. 현대 사회는 운송 수요가 엄청나서, 도시 안팎의 도로망이 도시의 뼈대를 이룸  
    1900년대 이전엔 수로 근처에만 도시를 지을 수 있었지만, 지금은 도로 덕분에 내륙에서도 가능해졌음
  - 샌프란시스코의 거리들도 19세기부터 **토목공학 원리**로 설계된 것임  
    현실적인 도시를 만들려면 가짜 도로 대신 이런 접근이 맞다고 생각함
  - 나도 **보행자 중심 인프라**(자전거 도로, 보행로, 대중교통)를 좋아하지만, 도로는 본래 마차와 자동차를 위해 설계된 게 사실임  
    가끔 상상함 — 만약 오직 자전거와 도보만 사용하는 문명이 도시를 설계한다면 어떤 모습일까 하는 생각임

- 저자가 좋아할 만한 게임이 있음. 바로 **Junxions**라는 샌드박스 게임으로, 도로 교차로를 만드는 데 집중함  
  관련 서브레딧은 [여기](https://www.reddit.com/r/Junxions/)임. 이 게임이 도로 설계 욕구를 잘 채워줄 듯함
  - 나는 이 도로 시스템의 **제작자**임. 사실 아직 뭘 할지 확실히 모르겠음 — 에셋으로 낼지, 게임으로 만들지 고민 중임  
    Junxions도 좋아하지만 내 접근법은 다름. 그쪽은 **노드 기반 베지어 구조**를 쓰지만, 나는 도로 세그먼트 간 충돌로 교차점을 자동 생성함  
    다음 블로그 글에서 두 접근의 차이를 자세히 다룰 예정임

- “교차로 모서리 반경에 신경 쓰는 사람은 1%뿐”이라는데, 나는 바로 그 **1%** 에 속함

- **베지어 곡선**으로 도로를 정의하는 건 쉽지 않음  
  특히 급회전 구간에서는 시각적으로 보기 안 좋은 결과가 나옴  
  나도 작년에 **Azoth** 프로젝트를 하며 같은 문제를 겪었고, 단순화된 해결책을 찾았음  
  참고: [Azoth 저장소](https://github.com/ThrudTheBarbarian/Azoth), [베지어 예시](https://github.com/ThrudTheBarbarian/Azoth/blob/main/Documentation/AZBezier/README.md)

- 게임에서 당연하게 보이는 요소들이 사실은 엄청난 **노동과 설계**의 결과임  
  예를 들어 도로는 플레이어가 자세히 보지 않지만, 이상하게 보이면 바로 어색함  
  최근 **Kingdom Come 2**를 하며 느꼈음 — 현실처럼 자연스러워 보이지만, 그 모든 디테일은 개발자들의 땀과 눈물로 만들어진 것임  
  그래서 게임 산업이 **크런치**에 시달리는 게 이해됨
  - 게임 속 **문**도 복잡한 문제임. 실제보다 30%는 크고, 대부분 **슬라이딩 도어**를 쓰는 이유가 물리 처리 때문임  
    관련 글: [The Door Problem](https://lizengland.com/blog/the-door-problem/), [IGN 기사](https://www.ign.com/articles/putting-doors-in-video-games-is-a-nightmare-say-developers)

- 이런 글이 있어서 **Hacker News**를 계속 보게 됨. 저자에게 계속 글 써달라고 전하고 싶음
  - 저자임. 관심 가져줘서 고마움. 사실 HN을 몰랐는데, 트래픽이 몰려와서 알게 됨  
    비슷한 관심사를 가진 사람들이 많아 앞으로 더 활동할 생각임

- 이 글은 정말 내 취향임. **도로에 대한 집착**이 나도 똑같음  
  도시는 혈관처럼 도로로 구성되고, 유럽·아시아의 마을길은 발자국 경로 위에 세워진 이야기임  
  반면 내 고향의 시골길은 직선으로 뻗다가 농부가 땅을 안 팔면 갑자기 꺾임  
  식민지 시기나 계획도시 일부만 격자형이고, 대부분은 강의 흐름이나 지형에 따라 방향이 달라짐  
  이런 **격자 간 교차 지점**이 도시에서 가장 아름답고 건축적으로 흥미로운 부분임  
  도시 성장의 변화를 시뮬레이션하는 게임이 있다면 정말 좋겠음
  - 나도 역사 기반 도시 건설 게임이 **격자형**일 때 몰입이 깨짐  
    실제 도시는 개미집처럼 **자연스러운 질서 속 복잡성**으로 발전했음  
    이 주제는 나중에 따로 글로 써보고 싶음

- 다음 게임 **Canalpunk**에서는 베지어 스플라인을 계속 사용할 예정임  
  경로가 **자기 교차**할 때 생기는 재난 시스템이 흥미로울 것 같음

- 나는 철도 트랙 에디터에서 **클로소이드(curve transition)** 를 구현하려고 집착 중임  
  빈 공간에선 쉽지만, 트랙을 연결할 때가 어렵음  
  예전에 만든 설명 자료가 있음: [Euler Spiral Explanation](https://xixixao.github.io/euler-spiral-explanation/)
  - 궁금한 점이 있음. 왼쪽에서 오른쪽으로 두 갈래로 갈라지는 선이 있을 때, 클로소이드를 뒤로 연장하면 **파형이 교차**하지 않을까?  
    그 교차점을 이용해 새로운 스플라인을 보간할 수 있을지 실험해보고 싶음  
    참고 그림: [시각 예시](https://pasteboard.co/5QgDdTVVSm1I.png)
  - 설명이 정말 자세해서 저장해둠. 클로소이드 연결이 그렇게 어려운 줄 몰랐음. 직접 구현은 아직 엄두가 안 남

- 로마인처럼 **직선 도로**로 만들면 간단함 :-)  
  물론 로마인들은 사유지 따위 신경 안 썼음. 내가 사는 영국 Lincolnshire엔 아직도 로마 도로가 쓰이고 있음  
  RAF Scampton 활주로 확장 때만 예외적으로 도로를 꺾었음
  - 사실 로마인들도 **사유지 문제**를 겪었음. 예를 들어 두 번째 수도교는 지주 Crassus가 땅을 내주지 않아 지연됐음  
    자세한 내용은 [Roman aqueduct](https://en.wikipedia.org/wiki/Roman_aqueduct) 참고
  - 내 지역의 도로는 중세부터 **교회탑과 교회탑을 잇는 구조**임  
    지금도 도로 중앙선이 교회탑 방향과 완벽히 일치함. 교회 중심의 토지 개념이 로마와 닮았음
