원문 캡처 · funcarena.com
원문 캡처 · funcarena.com

2010년 Quake 맵을 다시 만들고 싶었던 크리스티안 두스케(Kristian Duske)는 마음에 드는 편집기를 찾지 못해 TrenchBroom을 직접 만들기 시작했다. 현재 이 도구는 Quake 맵 제작뿐 아니라 일부 인디 게임 개발에도 쓰이지만, 정작 두스케는 TrenchBroom으로 맵을 만든 적이 한 번도 없다고 인터뷰에서 밝혔다.

두스케는 처음에 macOS용 앱을 Objective C와 C로 개발했고, 2012년 첫 버전을 공개했다. 당시 Quake 모더와 맵 제작자 다수가 Windows를 사용해 이용하기 어려웠기 때문에, 이후 이식성을 고려해 C++로 다시 만들었다. TrenchBroom 1.0은 1년 뒤 Windows와 macOS용으로 나왔고 Linux 빌드도 뒤이어 제공됐다. 2018년에는 TrenchBroom 2.0으로 주요 재작성 작업을 했으며, 2020년에는 UI 프레임워크를 wxWidgets에서 Qt로 바꿨다. 두스케는 Qt가 플랫폼별 우회 작업을 줄여 코드 관리가 수월해졌다고 설명했다.

TrenchBroom의 주요 특징으로 두스케는 3D 중심 작업 방식과 연결 그룹(linked groups)을 꼽았다. 그는 3D 화면이 맵 제작자가 설계를 직접 조정하고 빠르게 반복하는 데 도움이 될 수 있다고 봤다. 연결 그룹은 디자인 요소를 만들고 발전시키기 편하게 하며, 맵 제작 과정을 효율적으로 바꿀 수 있다고 말했다. 맵을 자체 형식이 아닌 텍스트 형식으로 저장해 다른 도구에서 편집할 수 있다는 점도 장점으로 들었다. 이런 설계가 Quake 맵 제작 장면의 최근 활기에 기여했을 수 있다는 것이 그의 견해다.

다만 모든 기능과 엔진을 완전히 지원하는 것은 아니다. Daikatana의 특이한 동작을 전부 지원하지 않으며, Quake 3 지원도 아직 완성되지 않아 두스케가 작업 중이라고 밝혔다. Q3Radiant의 브러시 프리미티브 형식도 지원하지 않는다. 두스케가 구현에 실패한 기능으로는 더 자연스러운 CSG 빼기 알고리즘을 들었다. 불필요한 정점 없이 대칭적인 결과를 만들고 싶었지만 여러 접근이 실패해 현재의 단순한 방식을 택했다고 설명했다.

두스케는 최근 AI 도구를 활용해 프로젝트를 더 작은 라이브러리로 나누고 빌드 시스템을 개선했다고 말했다. 혼자 저녁 시간을 들여 처리하기에는 오래 걸렸을 작업을 진행할 수 있었고, 코드 작업이 수월해져 기능 개발에 집중할 수 있게 됐다는 설명이다. 그는 TrenchBroom을 우선 Quake용 편집기로 보고 기능과 우선순위를 정하지만, 다른 커뮤니티의 요구를 모두 잘 알지는 못한다고 덧붙였다. 프로젝트가 오픈소스인 만큼 이용자가 포크해 자신의 작업 방식에 맞게 조정할 수도 있다고 말했다.

인터뷰 원문

첫 버전 출시와 TrenchBroom 1.0 공개 기록은 각각 2012년 게시물과 TrenchBroom 1.0 발표에서 확인할 수 있다.