Claude Code를 사용해 1989년 DOS 게임을 상대성 이론 시뮬레이션으로 재탄생시켰습니다
I used Claude Code to turn a 1989 DOS game I played as a kid into a relativity sim
핵심 요약
Claude Code를 활용해 1989년 고전 DOS 게임을 물리 법칙이 적용된 상대성 이론 시뮬레이션 게임으로 구현했습니다.
- Claude Code 활용 — 데스크톱 앱과 로드맵 파일을 통해 전체 개발 과정을 관리함
- 순수 자바스크립트 — 프레임워크나 외부 라이브러리 없이 단일 HTML 파일로 구현함
- 물리 엔진 구현 — WebGL 셰이더와 Web Audio API를 사용해 중력과 시공간 왜곡을 시각화함
- 사용자 피드백 — 인게임 버그 리포트 기능을 통해 GitHub 이슈로 자동 등록되도록 설계함

미안, 아까 영상이 안 나와서 다시 올림.
플레이: gravwars.com (무료, 계정 필요 없음, 폰이나 컴퓨터 다 됨)
Gravity Wars는 휘어진 시공간에서 즐기는 2인용 포격 게임임. 행성, 별, 블랙홀 사이로 미사일을 번갈아 쏘는데, 중력 때문에 궤적이 다 휘어짐. 원래 1989년에 나온 퍼블릭 도메인 DOS 게임(Sohrab Ismail-Beigi 제작)을 리메이크하려고 시작했는데, 만들다 보니 나름 본격적인 상대성 이론 시뮬레이션이 돼버림. 블랙홀 근처에선 궤도 세차 운동도 일어나고, 블랙홀은 레이 트레이싱으로 렌더링해서 렌즈 효과도 들어가고, 미사일은 시간 지연까지 겪음. 코드 거의 대부분은 Claude Code가 짰고, 난 옆에서 플레이하고 테스트하면서 다음에 뭐 만들지 결정만 함.
제작 방식
-
Claude Code: 데스크탑 앱에서 여러 세션에 걸쳐 작업함. 리포지토리에 있는 roadmap 폴더랑 CLAUDE.md에 계획이랑 규칙을 다 적어놔서, 세션 새로 시작할 때마다 끊긴 부분부터 바로 이어서 할 수 있었음.
-
순수 JavaScript: 프레임워크도 없고, npm 패키지도 없고, 빌드 과정도 없음. 파이썬 스크립트 하나로 게임을 HTML 파일 하나로 묶어버림.
-
WebGL 셰이더: 우주 배경이랑 블랙홀 레이 트레이싱 담당. Canvas 2D는 우주선, 궤적, 수치 표시 담당. Web Audio API는 물리 엔진 데이터로 음악을 실시간으로 생성함.
-
테스트: 커밋할 때마다 노드 스크립트가 물리 엔진(에너지 보존, 궤도 세차, CPU 정확도 등)을 검사함. Playwright가 헤드리스 크롬이랑 파이어폭스에서 변경 사항마다 스크린샷 찍고, 안드로이드 에뮬레이터로 모바일 레이아웃도 체크함.
-
호스팅: Cloudflare Pages에 정적 파일로 올림. 트레일러 영상은 Playwright랑 ffmpeg 써서 게임 화면을 프레임 단위로 렌더링해서 만듦.
-
버그 리포트: 게임 내 ! 버튼 누르면 Cloudflare Worker로 리포트가 날아가고, 이게 비공개 GitHub 리포지토리에 이슈로 등록됨(Cloudflare Turnstile이랑 레이트 리밋 걸어서 스팸 방지함). Claude가 이걸 읽고 우선순위 정함.
디자인 철학
-
파일 하나만 있으면 바로 실행됨. 업데이트하거나 보안 검사할 게 없음.

