Claude Code(클로드코드)만으로 모바일 웹 타워디펜스 게임을 하루 안에 완성해서,
커뮤니티(홍차넷) 오락실에 배포하고 회원들끼리 랭킹 경쟁까지 가능하게 만드는 것이 목표였습니다.
장르는 워크래프트3 유즈맵에서 유행했던 '길막 타워디펜스(길막TD)'입니다.
정해진 길이 없고, 몬스터가 타워를 지나갈 수 없기 때문에
플레이어가 타워를 배치하는 것 자체가 미로(길)를 설계하는 행위가 되는 장르죠.
단순 클론이 아니라 상성, 경제 시스템, 점수 경쟁까지 갖춘
"제대로 쥐어짜야 클리어되는" 게임을 목표로 했습니다.
■ 사용 도구
- Claude Code (Anthropic CLI, Max 요금제 — 100달러/월이면 하루 종일 사용 가능)
- 기술 스택: 순수 JavaScript + Canvas 기반 웹 게임
- 배포/버전 관리: Git (작은 수정도 매번 커밋 후 푸시, 필요 시 rebase로 커밋 합치기)
■ 최초 프롬프트
모바일에서 플레이하기 좋은, 타워디펜스 게임을 만들어줘.
다른 오락실 게임들처럼 회원랭킹이 있을거야.
50개의 waves로 만들어져서 점수경쟁하기 좋은 게임으로 만들어줘.
여기에 게임의 핵심 컨셉을 덧붙였습니다:
맵 전체에 타워를 지을 수 있고, 몬스터들은 맵에서 4개의 포인트를 찍고 나가는 워크래프트 유즈맵세팅식. 몬스터가 타워를 지나갈 수 없으니 타워로 길을 만드는 셈.
→ 이 한 번의 요청으로 기본 게임 엔진이 나왔고, 이후는 전부 '대화로 다듬는' 과정이었습니다.
■ 이후 개발은 프롬프트 반복 (약 9시간, 13:27 ~ 22:12)
실제로 사용한 프롬프트 예시들:
- 웨이브 시스템:
각 웨이브는 해당 웨이브의 몬스터가 모두 죽으면 5초 카운트 후 자동으로 다음 카운트 시작이 되게 해줘.
- 밸런싱 검증을 AI에게 위임:
보상체계(몬스터 잡았을 때 얻는 포인트)가 적절한지 체크해줘. 잡기 어려운 몬스터(보스 같은)는 포인트를 좀 더 주어야 해.
- 맵 미세 조정:
현재 길막TD의 그리드 수를 조절하자. 오른쪽 1칸 지워주고, 가장 하단 2칸 지워줘.
- 최종 점수 설계:
게임 클리어 했을 때는 남은 생명도 하나에 1000점씩 추가해줘.
■ 시간대별 진행 흐름
1) 초기 구축 (13:27~14:00): 엔진 생성 → 배포 → 맵 비율 세로형(3:5)으로 변경, 입구/출구를 맵 밖으로
2) 난이도·상성 (14:04~14:54): 웨이브 자동 진행, 몬스터-타워 상성("보스에 강하지만 일반몹에 약한 타워"), 공중 몬스터 추가
3) UI 최적화 (14:10~16:00): 텍스트 설명 제거로 맵 공간 확보, 정보는 게임 위 오버레이로
4) 메커니즘 고도화 (15:39~16:57): 블록커 타워(값싸고 팔 수 없는 길막 전용), 대포 스플래시화, 경로 재계산 최적화
5) 이펙트·사운드 (16:50~17:06): 번개를 '공 모양'에서 선형 번개로, 타워별 고유 효과음
6) 밸런스 마무리 (17:23~21:09): 마탑(고가 타워) 추가, 저격 타워 공중 전용화, 독 타워 지속시간 조정
7) 최종 조정 (19:00~22:12): 30웨이브로 축소(원래 50), BGM 추가, 점수 시스템 확정(잔여 골드 + 남은 생명×1000점)
결과와 배운 점
홍차넷 오락실에 정 식 배포되어 회원들이 랭킹 경쟁 중입니다.
직접 코드를 한 줄도 손으로 짜지 않고, 프롬프트 → 확인 → 수정 요청의 반복만으로
하루(약 9시간) 안에 상성/경제/점수 시스템을 갖춘 완성형 게임이 나왔습니다.
■ 배운 점과 나만의 꿀팁
1. Claude는 '행간을 읽는' 능력이 강점.
"길막TD 만들어줘" 같은 요청에서 사람이 당연하게 전제하는 것들
(타워가 벽 역할, 길을 완전히 막으면 안 됨 등)을 가장 잘 채워 넣습니다.
초기 빌드(0→1)는 Claude, 검증/수정은 Codex가 유리하다는 게 개인적 결론.
2. 밸런싱도 AI에게 시켜라.
"보상체계가 적절한지 체크해줘"처럼 검증 자체를 위임하면
난이도 곡선 재계산까지 알아서 해줍니다.
3. 작게, 자주 커밋.
프롬프트 한 번 = 커밋 한 번 수준으로 쪼개고, 나중에 rebase로 합치면
잘못된 방향으로 갔을 때 되돌리기 쉽습니다. 큰 변경 전엔 백업 브랜치.
4. 요금제: 20달러 플랜은 5시간 제한에 걸립니다.
하루 종일 바이브코딩하려면 100달러 Max 플랜이 필요했습니다.
■ 겪은 시행착오
- 몬스터가 타워를 무시하고 통과 → 경로 재계산 로직 점검으로 해결
- 배포 후 수정사항 미반영 → 캐시 문제, 버전 업(캐시버스팅)으로 해결
- 여러 웨이브 연속 소환 시 몬스터 누락 → 리젠 타이머 병렬 처리로 해결
- 폴더명 변경(game3 → gm-td) 후 점수 기록 안 됨 → 게임 ID 재확인 필요
- 모바일에서 스플래시 화면 텍스트 깨짐 → 640px 기준 미디어쿼리 추가