개발 기록
Three.js와 TypeScript로 브라우저에서 돌아가는 RTS를 만들면서 실제로 부딪힌 문제들. 해결한 방법과 측정한 숫자, 그리고 틀렸던 것들을 적는다. 엔진이나 라이브러리를 소개하는 글이 아니라, 특정 문제를 어떻게 잘못 풀었고 어떻게 고쳤는지에 대한 기록이다.
왜 실패를 같이 적는가
기술 글에서 대개 빠지는 부분이 틀렸던 과정이다. 완성된 해법만 읽으면 "그렇게 하면 되겠네"로 끝나지만, 실제로 시간을 잡아먹는 건 해법을 모르는 것이 아니라 지금 뭐가 틀렸는지 모르는 것이다.
그래서 이 글들에는 측정값과 함께 어떻게 진단했는지, 그리고 진단이 틀렸던 경우까지 적었다. 예를 들어 시뮬레이션 p95가 7.7ms로 나왔을 때 그걸 성능 스파이크로 보고했다면 없는 문제를 며칠 고치고 있었을 것이다. 실제로는 측정 루프의 워밍업 구간이었다. 이런 건 해법이 아니라 함정이고, 함정을 적어두는 쪽이 더 쓸모 있다.
이 프로젝트에 대해
Ironwood Command는 Three.js + TypeScript로 만든 브라우저 RTS다. 플러그인이나 다운로드 없이 웹에서 바로 돌아간다. 지형·숲·유닛·건물 모델이 전부 절차적으로 생성되며, 외부 3D 에셋을 쓰지 않는다. 시뮬레이션은 20Hz 고정 간격이고, 모든 난수는 하나의 시드에서 파생되어 결정적으로 재현된다.
기술 스택과 구조에 대한 더 자세한 설명은 소개 페이지에, 게임 자체를 플레이하는 방법은 가이드에 있다.