Claude Code를 이용해 하루 만에 게임 데모 만들기
요약
글쓴이는 Claude Code를 활용하여 하루 만에 'Reptile Catcher'라는 게임 데모를 완성했습니다. 특히, 봇을 이용한 밸런스 시뮬레이션과 AI가 생성한 스프라이트 후보군 중 최종 선택 및 수정하는 과정이 핵심이었습니다. 이 경험은 AI와의 협업을 통해 개발 비용을 낮추고 빠르게 프로토타입을 재구축할 수 있음을 보여줍니다.
핵심 포인트
- Claude Code를 활용하여 게임 데모를 하루 만에 완성함.
- 봇 기반의 밸런스 시뮬레이션으로 인크리멘탈 게임의 균형을 잡음.
- AI가 생성한 에셋 중 최종 선택하고 수정하는 인간의 역할이 중요함.
- 재구축 비용이 저렴해져 아이디어를 빠르게 테스트할 수 있었음.
일요일 오후에 게임 템플릿을 가져왔다. 시간은 오후 1시 46분이었다. 다음에 고개를 들었을 때는 새벽 3시였고, 마지막 커밋 메시지에는 "trial (demo)"라고 적혀 있었다. 그 사이에 86개의 커밋이 있었다.
그 결과물은 Reptile Catcher가 되었다. 도마뱀을 기절시켜 잡고, 팔아 수익을 내며, 더 예쁜 무늬를 위해 번식시키는 게임이다. 이 게임은 Godot으로 구동되며 코드는 Claude Code가 작성했다. 내가 맡은 부분은 방향 설정, 플레이 테스트(playtesting), 그리고 에셋 선택이었다.
5분 만에 작동하는 루프
템플릿을 가져온 지 5분이 되었을 때, 잡기-판매-번식 루프는 돌아가고 있었다. 솔직히 나는 그 정도는 예상했다. 요즘 AI라면 할 수 있는 일이다.
중요했던 것은 다음 1분이었다. 바로 다음에 이루어진 커밋은 **봇이 플레이하는 밸런스 시뮬레이터(balance simulator)**였다.
인크리멘탈 게임(incremental games)은 숫자의 싸움이다. 업그레이드 가격 하나를 바꾸는 것만으로도 30분짜리 시간이 3시간으로 늘어날 수 있다. 나는 매번 처음부터 전체 과정을 다시 플레이할 수 없다. 그래서 Claude가 숫자를 바꿀 때마다 봇을 실행했고, 나는 "엔딩까지 4시간 19분 (봇)" 같은 숫자를 기반으로 판단을 내렸다. 나중에는 이 봇을 다섯 가지 개성(personality)으로 분리했다: 공격력 업그레이드를 먼저 구매하는 봇, 가장 저렴한 것을 구매하는 봇, 오직 번식만 하는 봇 등이었다.
이 봇은 버그도 잡아냈다. 데모 길이를 측정하던 중, 한 봇이 끝내 완료되지 않았다. 알고 보니 그 봇은 데모에서 잠겨 있는 업그레이드를 사려고 시도하다가 막혀버린 것이었다. 버그는 봇 측의 문제였지만, 이로 인해 잠금 규칙(lock rules)들이 코드 전반에 걸쳐 산재해 있다는 것을 알게 되었다.
오후 2시 20분, 방향을 바꾸다
처음 30분 동안은 탭과 버튼들로 가득 찬 화면이 나왔다. 오후 2시 20분에 나는 완전히 방향을 틀었다: 픽셀 아트(pixel art) 스타일로 변경하고, 잡는 행위를 캐릭터를 직접 움직이는 "달리기" 방식으로 바꾸었으며, 업그레이드는 마인드맵처럼 가지를 치는 트리 구조로 만들었다.
보통이라면 이 시점에서 무언가를 던져버리는 것은 나 자신을 겁먹게 했을 것이다. 하지만 재구축하는 비용이 너무 저렴해서 주저할 틈도 없었다. 이것이 내가 AI와 작업하면서 느낀 가장 큰 차이점이다.
AI가 스프라이트를 생성하고, 나는 선택한다
픽셀 스프라이트는 PixelLab에서 가져왔고, MCP를 통해 Claude에 연결했습니다. Claude가 몇 가지 후보군을 생성했고, 저는 '3번인데 목만 더 짧게 만들어줘'와 같은 메모가 있는 것을 골랐습니다. Claude는 선택된 각 스프라이트의 시드를 문서에 기록했습니다.
재미있는 부분은 어떤 종이 대체되었는지입니다.
- 집도마뱀(house gecko)은 32픽셀 측면 보기로 축소되자 다른 모든 종처럼 보여서, 저는 스킨크(skink)로 변경했습니다.
- 날개막을 가진 도마뱀(flying lizard)의 날개막은 32픽셀에서는 나타나지 않았기 때문에, 저는 프릴드 리자드(frilled lizard)로 변경했습니다.
- 수염도마뱀(bearded dragon)의 걷는 동작 사이클(walk cycle)은 무엇을 하든 강아지처럼 보여서, 저는 뿔도마뱀(horned lizard)으로 교체했습니다.
원하는 스프라이트를 얻기 위해 재현(regenerating)할 때까지 반복하기보다, 제가 가진 도구가 잘 그리는 것에 맞춰 게임을 변경했습니다. 작은 게임의 경우, 이것이 훨씬 빨랐습니다.
제 역할은 AI가 만든 것을 제거하는 것이었습니다
오후 7시경에 저는 Claude가 그날 오후에 구축했던 기능들 전체 세트(자동 포획, 자동 판매, 오프라인 진행)를 제거했습니다. 10분 후에는 명성 시스템(prestige)과 명성 트리(fame tree)도 마찬가지였습니다.
저는 이 게임이 '실패가 없고, 명성 시스템 없이, 4~6시간 만에 끝나는 직선적인 플레이'여야 한다고 결정했습니다. 비활동적 기능(Idle features)이나 명성 시스템은 그 자리가 아니었습니다. AI가 이렇게 빠르게 구축하기 때문에 기능들이 빨리 쌓이지만, 무엇을 잘라낼지 결정하는 것은 여전히 저의 몫이었습니다. 돌이켜보면, 그것이 제가 첫날 한 가장 많은 작업이었습니다.
그래도 출시까지는 일주일이 남았습니다
새벽 3시에는 데모 범위가 축소되었지만, 실제 출시는 10월 11일이었습니다. 그 사이에 Claude는 보스 4개를 추가하고, 지역 배경을 그리고, 데모 잠금 버그를 수정했으며, itch.io 페이지용 스크린샷, 커버, 웹 빌드를 준비했습니다.
따라서 '하루 만에 만들었다'는 것은 데모까지의 이야기일 뿐입니다. 구축하는 데 하루가 걸렸지만, 다듬고 출시하는 데는 일주일이 걸렸습니다. 다음 게임도 같은 방식으로 진행될 것 같습니다.
만약 AI를 사용해 숫자 관련 기능이 많은 게임을 개발하는데 아직 시뮬레이터가 없다면, 코어 루프(core loop) 직후에 AI에게 봇을 만들게 하는 것을 추천합니다. 저에게는 그것이 프로젝트 전체에서 최고의 결정이었습니다.
데모는 itch.io에 있습니다. 도마뱀들을 잡으러 오세요 🦎
👉 https://krenin.itch.io/reptile-catcher
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기