1편에서는 아이디어를, 2편에서는 18홀 게임을 소개했습니다. 2편 마지막에 “다음은 우주와 다른 행성의 코스”라고 적었는데, 이번에 정말 달에 골프 홀을 하나 만들었습니다.

풍경보다 물리부터
처음에는 달 풍경을 영상으로 넣을 생각이었습니다. 그런데 공이 날아가는 방향이 바뀌면 영상과 맞지 않습니다. 그래서 순서를 바꿨습니다. 먼저 물리를 바꾸고, 풍경은 나중에 3D로 그리기로 했습니다.
달은 중력이 지구의 약 6분의 1(1.62 m/s²)이고 공기가 없습니다. 공기가 없으니 바람도 없고, 공이 공중에서 훅이나 슬라이스로 휘지도 않습니다. Claude Code에 이 두 가지만 바꿔 달라고 요청했습니다.
드라이버가 1.7km를 날아갔습니다
2편과 똑같이 볼 스피드 65 m/s(약 145mph), 발사각 13°, 백스핀 2,700rpm으로 쳤습니다.
| 항목 | 지구 | 달 |
|---|---|---|
| 캐리 | 212.9m | 1,143.2m |
| 총거리 | 242.8m | 1,718.4m |
| 체공 시간 | 6.0초 | 18.1초 |
같은 스윙인데 캐리가 5배 넘게 늘었습니다. 공이 18초 동안 떠 있어서, 게임에는 비행을 빠르게 감아 보여 주는 기능과 “실제 속도로 보기” 옵션을 함께 넣었습니다.

지구 코스로는 전부 OB
문제는 바로 생겼습니다. 지구 18홀에 달 물리를 그대로 넣으니 거의 모든 샷이 OB였습니다. 샌드 웨지도 수백 미터를 날아갔습니다.
그래서 달 전용 홀을 따로 만들었습니다. 파4, 2,202m입니다. “드라이버 한 번, 샌드 웨지 한 번이면 그린”이 되도록 설계했습니다. 처음에는 2,292m였는데, 웨지가 그린 앞 20m에 떨어져서 그린과 핀을 90m 당겼습니다.
백스핀은 달에서도 공을 세웁니다
테스트하다 보니 백스핀 9,500rpm 웨지 샷이 착지 후 56m나 굴러갔습니다. 공기가 없으면 공중에서 휘지는 않지만, 땅에 닿을 때 스핀이 공을 붙잡는 힘은 그대로 있어야 합니다. 이 부분을 고치자 같은 샷이 착지한 자리에 그대로 섰습니다.
- 샌드 웨지(볼 스피드 30 m/s, 발사각 30°, 9,500rpm): 캐리 481.1m, 총거리 481.1m
- 최고 높이 69.4m, 체공 시간 18.5초
481m를 날아가서 그 자리에 딱 서는 웨지 샷은 지구에서는 볼 수 없는 장면입니다.

별 2,000개와 지구
물리를 맞춘 다음 풍경을 넣었습니다. 검은 하늘에 별 약 2,000개, 지평선 위의 지구, 회색 먼지 지면, 크레이터 18개입니다. 크레이터는 OB 바깥에 두어서 경기에는 영향이 없습니다. 지구는 실제보다 두 배쯤 크게 그렸습니다. 실제 크기로 그리면 화면에서 너무 작게 보였기 때문입니다.
6퍼트 미스터리
첫 라운드는 버디였습니다. 드라이버, 웨지, 그리고 48m 퍼트가 그대로 들어갔습니다. 그런데 바로 다음 라운드에서 6퍼트가 나왔습니다.
Claude Code에 “고치기 전에 원인부터 설명해줘”라고 요청했습니다. 시험 결과는 이랬습니다.
- 평평한 그린에서는 입력한 퍼팅 거리와 실제 굴러간 거리의 오차가 2cm 이내였습니다.
- 경사도 지구와 같은 비율로 작용했습니다.
- 대신 버그 두 개가 나왔습니다. 하나는 계산 시간 제한(40초) 때문에 달에서 100m 퍼트가 99.3m에서 멈추는 문제였습니다. 다른 하나가 진짜 범인이었습니다. 그린 밖(페어웨이, 러프)에서 퍼터를 쓰면 입력한 거리의 일부만 굴러갔습니다. 13m를 넣으면 2.2m만 갔습니다.
긴 퍼트가 그린을 넘어 밖으로 나가면, 그다음 퍼트가 계속 짧았던 것입니다. 지금은 그린 밖에서도 입력한 거리만큼 굴러가고, 화면에 “그린 밖 3.0m 포함” 같은 안내가 나옵니다. 퍼트마다 입력 거리, 실제 거리, 핀까지 남은 거리도 기록에 남습니다.

지금까지의 달 라운드 기록
| 라운드 | 타수 | 퍼트 |
|---|---|---|
| 1 | 3 (버디) | 1 |
| 2 | 8 (+4) | 6 |
| 3 | 3 (버디) | 1 |
| 4 | 4 (파) | 2 |

직접 쳐 보세요
달 코스는 지금 바로 브라우저에서 치실 수 있습니다. 데스크톱이나 노트북에서 열고, 왼쪽 “행성”에서 달을 고르시면 됩니다.
추천 샷: 드라이버(65 m/s, 13°, 2,700rpm) 다음에 샌드 웨지(30 m/s, 30°, 9,500rpm)
이번에 배운 것
- 원인부터 묻기. “고쳐줘” 대신 “원인을 먼저 설명해줘”라고 하니, 엉뚱한 곳을 고치지 않고 진짜 버그를 찾았습니다.
- 기록이 디버깅을 돕습니다. 퍼트 기록을 넣자마자 어디서 타수를 잃는지 한눈에 보였습니다.
- 물리가 먼저, 풍경은 나중. 공이 그럴듯하게 날아가야 풍경도 진짜처럼 느껴집니다.
다음 계획
달 홀에서는 클럽 사이 거리 간격이 너무 큽니다(샌드 웨지 약 481m, 피칭 웨지 약 768m). 다음에는 부분 스윙을 넣고, 그다음은 화성입니다. 공기가 지구의 1%뿐인 붉은 행성에서는 공이 어떻게 날아갈지 궁금합니다.