
이건 우연에서 시작됐습니다. 얼마 전, Claude가 제가 몇 년째 떠올리려던 게임의 이름을 찾아줬습니다. 여동생과 다섯 살쯤에, 그러니까 약 25년 전에 함께 하던 게임이었죠. 다시 보니 예상보다 훨씬 진한 향수가 밀려왔습니다. 콘셉트는 너무나 단순한데 지금도 사람을 붙잡아 두고, 저는 문득 이런 생각을 하고 있었습니다: 이걸 3D로 되살리고 싶다.
목표는 콘텐츠가 아니었습니다. 저는 제가 즐기며 플레이할 수 있고 친구와 가족에게 건네줄 수 있는 무언가를 만들고 싶었습니다. 그래서 모든 걸 하나의 에이전트에 연결했습니다. Claude Code 가 Godot MCP, Blender MCP, 그리고 이미지·3D·효과음·음악을 위한 fal.ai 를 전부 하나의 채팅에서 구동했습니다. 이것이 전체 워크플로입니다: 어디서 깨졌고, 어디서 예상보다 잘 됐으며, 토큰과 크레딧으로 얼마가 들었는지.
CLAUDE.md까지요. 제 설정을 그대로 재현할 생각이라면 바로 그 파일이 당신에게 필요한 부분입니다. 그 파일은 다음 에이전트를 Godot MCP, Blender MCP, 그리고 fal.ai 생성 파이프라인으로 안내하며, 제가 도중에 부딪힌 정확한 함정까지 담고 있습니다. 리포지토리를 통째로 가져가거나, CLAUDE.md만 따로 내려받으세요: github.com/witnesstodark/tron-exonix · CLAUDE.md 내려받기 ↓CLAUDE.md는 위에 링크돼 있으니, 똑같은 설정을 그대로 다시 만들 수 있습니다.1. AI가 찾아준 어린 시절의 게임
원작은 Xonix입니다, 공들이 튀어 다니며 선을 봉하기 전에 잡으려 하는 사이, 필드에서 영역을 잘라내는 작은 아케이드 게임이죠. 보드를 충분히 차지하면 레벨을 클리어합니다. 그게 전체 루프이고, 지금도 통합니다.
그냥 베끼고 싶진 않았습니다. 저는 먼저 다시 플레이하며 시간을 들였습니다: 무엇이 좋았고, 무엇을 개선할 수 있으며, 무엇을 남길지. 계획은 스타일을 바꾸고, 메커니즘을 다듬고, 여동생과 친구들에게 보여줄 만한 무언가를 만드는 것이었습니다. 모든 디테일을 미리 설계할 필요는 없습니다. 좋은 아이디어의 상당수는 자기 프로토타입을 직접 플레이해 봐야 비로소 떠오릅니다.

2. 왜 Godot인가 (Three.js도 Unreal도 아닌)
첫 번째 진짜 결정은 엔진이었습니다. Three.js는 제가 원하는 것에 비해 너무 제한적으로 느껴졌습니다. Unreal Engine 은 이렇게 작은 게임에는 너무 과한 엔진이었죠. 그러다 Godot가 떠올랐습니다: 가볍고, 곧바로 실행되며, 다운로드 용량이 작고, 인디 2D·3D 게임에 잘 맞습니다. 여러분 중 많은 분이 이것도 테스트해 보라고 요청하셨던 터라, 이번이 그 핑계가 됐습니다.
3. 콘셉트와 Tron 룩
코드를 짜기 전에, 저는 콘셉트를 에이전트 작업 공간 안에 확정했습니다: 리서치, 무드, 그리고 반응해 볼 스타일 이미지 한 묶음. 저는 Tron: Legacy 미학에 정착했습니다, 거의 검은 표면, 빛나는 청록색 엣지, 그 차갑고 네온 같은 분위기. 십 대 시절부터 사랑해 온 룩이고, 그리드 점령 게임에 완벽하게 맞아떨어집니다.
4. 사실상 프롬프트 하나로 끝난 전체 설정
이 부분이 저를 가장 놀라게 했습니다. 저는 무언가를 설정하려고 Godot를 연 적이 한 번도 없습니다. Claude에게 Godot 게임을 만들고 이 작업에 가장 좋은 MCP를 찾으라고 말했더니, Godot 쪽 전부를 스스로 처리했습니다. 프롬프트 하나로. 저에게 요청한 유일한 것은 Godot MCP가 로드되도록 세션을 재시작하라는 것뿐이었습니다.
Blender MCP도 그만큼 가볍습니다: Blender 안에 플러그인 하나를 설치하고 한 번 활성화하면 끝. Godot도 Blender도 무료라, 유일하게 유료인 부분은 fal.ai 생성뿐입니다. 반복 가능하게 만들기 위해, 제가 배운 모든 걸 Godot MCP, Blender MCP, fal.ai MCP에 관한 지식과 함께 CLAUDE.md로 묶었습니다. Claude Code(또는 Codex)에 넣기만 하면 설정을 대신 안내해 줍니다.
# The gist of the first prompt (no manual Godot setup):
"Build me a Godot game. Find and install the best Godot MCP,
wire up Blender MCP and the fal.ai MCP, then tell me what to restart."
# Blender side: install the MCP add-on once, enable it, done.
# Everything after that happens through the agent.5. 황금률: 작게 만들고, 루프로 반복하라
게임 개발 10년이 제게 가르친 한 가지는 에이전트와 함께라면 더욱 중요합니다: 작게 시작하고, 그다음 개선하고, 계속 개선하라. 모든 걸 한 번에 만들라고 하지 마세요. 그렇게 하면 버그 더미가 생기고 엉뚱한 걸 고치느라 토큰을 태우게 됩니다. 제 첫 프롬프트는 그저 단순한 플레이 가능한 프로토타입에 첫 텍스처 세트를 더한 것이었습니다.

이걸 재미있게 만든 루프: 에이전트가 블록을 하나 만들면, 게임을 저 대신 실행해 주고, 제가 플레이하고, 단축키를 눌러 음성 피드백을 곧장 Claude에 녹음하면, 에이전트가 조정합니다. 그게 돌아가는 동안 저는 이메일 하나에 답합니다. 블록 하나씩, 플랫폼 로직, 그다음 공 로직, 그다음 보너스, 저는 다음으로 넘어가기 전에 각 조각을 검증합니다, 그래야 나중에 풀어야 할 엉킨 덩어리가 되지 않으니까요.

6. PATINA로 텍스처, Blender에서 확인
표면에는 fal.ai의 PATINA를 썼습니다, 이음매 없이 타일링되는 텍스처를 만들고 전체 맵 세트(알베도, 노멀, 하이트 등)를 돌려주는 모델이죠. Claude는 Blender MCP에 능합니다: 맵을 생성하고, 그것을 머티리얼에 연결하고, 무언가가 게임에 들어가기 전에 어떻게 보이는지 제가 확인하게 해 줍니다.

거의 모든 표면의 워크플로는 동일했습니다: 맵을 생성하고, Blender에서 머티리얼을 확인하고, Godot로 밀어 넣기. 평면 버전이 제대로 보이고 나면 저는 표면을 3차원으로 가져가 달라고 요청했고, Tron 회로가 플레이 필드 전체에 빛나기 시작했습니다.

7. 에셋, 그리고 AI에게 사람이 필요했던 지점
저는 모든 에셋을 생성하게 한 뒤 하나의 assets.blend에 모아, 검토하고 설정을 손보고 필요에 따라 다시 임포트할 수 있게 했습니다. 적은 공 세 개입니다, 소프트(플랫폼에 무해), 하드(영역을 파괴), 이블(당신을 향해 추적), 여기에 표면 지뢰까지. 각 에셋의 이미션 맵도 만들게 했습니다: 알베도를 가져와 Nano Banana에 돌려 어울리는 발광 맵을 뽑는 식이죠. 그 부분은 거의 완벽하게 됐습니다.

전부 손 놓고 되는 건 아니었습니다. 작은 소품 다섯 개를 생성하면서 동시에 한 번에 별개의 메시로 분리하라고 했더니, 실패했습니다. 해결은 간단했습니다: 그냥 생성만 하라고 하고, 제가 Blender에서 1분쯤 걸려 직접 분리한 뒤 이름 붙인 조각들을 다시 건넸습니다. 형태가 잘못 나온 소프트볼도 마찬가지였죠. Blender에서 깔끔한 구를 만들어 그것에 텍스처를 입히라고 요청했습니다. 60초 동안 손을 대야 할 때를 아는 것이 긴 실랑이를 아껴 줍니다.
8. 아웃라인 트릭, 그다음 애니메이션과 VFX
하이라이트 아웃라인은 약간의 지식이 모호한 프롬프트를 이기는 지점입니다. “아웃라인을 넣어라” 대신, 저는 고전적인 레시피를 건넸습니다:
오브젝트를 복제하고 스케일 업
메시를 복사하고 그 복사본을 살짝 키워, 원본 바로 바깥에 놓이게 합니다.
노멀 뒤집기
복제본의 노멀을 뒤집어, 뒷면만 렌더링되게 합니다.
이미시브 머티리얼 추가
뒤집힌 셸에 빛나는 머티리얼을 줍니다. 형태를 정확히 따라가는 깔끔한 아웃라인이 나오고, 비용도 쌉니다. Claude는 프롬프트 하나로 이걸 완벽하게 해냈습니다.
메커니즘이 정리되자, 애니메이션 패스가 이것을 게임처럼 느껴지게 만든 부분이었습니다. 픽업 이펙트, 충돌 파티클, 카메라 무브, 공이 영역을 가르며 지날 때 뒤따르는 불꽃, 표면 지뢰의 전기 이펙트: 각각이 하나의 평범한 자연어 프롬프트였습니다. 나중에는 한 축으로만 움직이고, 무엇이든 가르며 지나가되, 균형을 맞추려고 더 느리게 움직이는 전기톱 적을 추가했습니다.

9. 사운드와 음악, 거의 손 놓고
사운드 디자인이 저를 가장 놀라게 했습니다. 전부 fal.ai를 거쳤습니다: 효과음에는 ElevenLabs 사운드 이펙트, 음악에는 Stable Audio 2.5 텍스트-투-오디오. 저는 음악은 단 한 곡도 손대지 않았습니다. 편집도, 골라내기도 없었죠. 그저 피드백(“이건 맞고, 이건 아니야”)만 주고 다시 생성하게 뒀습니다. 걸작은 아니지만, 분위기에 맞습니다. 몇몇 효과는 자리 잡는 데 한두 번의 반복이 필요했고, 그 이상은 아니었습니다.
10. 실제로 든 비용
저는 모든 걸 기록했습니다, 에셋에만 최소 $50는 쓸 거라 예상했으니까요. 틀렸습니다. Claude 쪽에서는 전후 사용량을 적어 뒀는데, 한 모델에서 주간 한도의 대략 8%에 Fable 5에서 12%를 더한 정도였고, Claude와 ChatGPT 모두 그걸 약 $6 정도로 추산했습니다. 거의 일곱 시간의 제작치고는 사실상 아무것도 아닙니다.

| 항목 | 도구 | 비용 |
|---|---|---|
| 약 7시간의 에이전트 제작 (토큰) | Claude Code (Sonnet 5 + Fable 5) | 약 $6 |
| 3D, 이미지, 텍스처, 오디오 | fal.ai (PATINA, Nano Banana, ElevenLabs, Stable Audio) | $24.51 |
| 추적 이전 콘셉트 이미지 | fal.ai | 약 $10 |
| 합계 | 엔진 + Blender 무료 | $50 미만 |
11. 웹에 공개, 가서 놀아보세요
다음 날 저는 밸런싱을 좀 하고(7레벨에서 10레벨로 늘림) 온라인에 올렸습니다. 브라우저 렌더링과 네이티브 렌더링은 성격이 다른 짐승이라 웹 익스포트가 고통스러울 거라 예상했는데, Godot의 웹으로 내보내기는 대체로 그냥 됐습니다. 유일하게 진짜 걸린 지점은 환경 맵 / SSR 지원의 공백이었고, 프롬프트 몇 개로 고쳤습니다. Claude는 사이트로의 자동 배포까지 설정하고 리더보드도 연결했습니다.

이 가이드의 데모는 TOP 3D AI에서 공개 중입니다. 영역을 잘라내고, 공을 피하고, sector 10 클리어에 도전해 보세요.
Exonix 열기실제로 얻는 것
이것이 전체 프로젝트입니다: 향수 어린 아이디어를 약 하루 만에 배포되어 플레이 가능한 3D 게임으로 바꾼 것, 힘든 일은 에이전트 하나가 도맡고 중요한 부분은 제 안목이 이끌면서. 이렇게 게임과 에셋을 만드는 새 도구는 끊임없이 등장하고, 등장할 때마다 곧장 Arena 에 들어가니, 손대기 전에 비교해 볼 수 있습니다.
Stefan Vaskevich