Claude Code로 게임을 개발한다면, 아트 에셋 문제를 푸는 가장 빠른 방법은 생성 플랫폼을 에이전트의 도구로 만드는 것입니다——명령어 한 줄로 MCP를 통해 Floniks를 연결하고, 재사용 가능한 "스타일 바이블"로 화풍을 고정하고, 선언적 매니페스트로 각 에셋을 기술하면, 에이전트가 스스로 생성·배경 제거·리사이즈·배치까지 수행합니다——그림을 그릴 필요도, 파일을 드래그할 필요도, 프롬프트를 쓸 필요도 없습니다. 이 글은 그 파이프라인의 완전한 가이드이며, 근거는 12개 게임 컬렉션입니다: 모든 스프라이트, 초상화, 아이콘, BGM이 이 파이프라인에서 나왔습니다.
문제: 코드는 해결됐고, 병목은 아트다
에이전트가 게임플레이 코드를 쓰는 것은 더 이상 뉴스가 아닙니다. 대부분의 Claude Code 게임 프로젝트를 멈추는 것은 시각물 전부입니다: 주인공 스프라이트, 타일셋, HUD 아이콘, 캐릭터 초상화. 흔한 답——에셋 팩 구매, 픽셀 아트 배우기, 웹 UI에서 생성해 손으로 드래그——은 모두 에이전트 개발을 빠르게 만드는 바로 그것을 부숩니다: 사람이 파일을 나를 때마다 루프가 멈춘다.
해법은 예술적이 아니라 구조적입니다: 생성을 에이전트가 호출하는 도구로 만들고, 프로젝트가 규약으로 에셋을 받게 하는 것. 그러면 아트는 에이전트가 코드를 쓰고 테스트를 돌리는 사이에 해치우는 또 하나의 일이 됩니다.
0단계: 명령어 한 줄로 에셋 공장을 연결
Floniks는 생성 모델——text-to-image, image-to-image, 배경 제거, text-to-music, image-to-video 등——을 MCP 서버로 노출합니다. Claude Code 등록은 한 줄:
claude mcp add --transport http floniks \
https://api.floniks.com/api/v1/mcp \
--header "Authorization: Bearer mk_YOUR_API_KEY"
그 순간부터 "스프라이트 생성"은 세션 중의 도구 호출이 되며, 테스트를 돌리는 것과 다르지 않습니다. 결과는 URL로 돌아오고, 에이전트가 직접 다운로드·후처리해 에셋 폴더에 저장합니다.
1단계: 무엇이든 생성하기 전에 스타일부터 고정
AI 게임 아트의 제1 실패 모드는 비일관성——에셋 10개가 화풍 10개가 되는 것입니다. 특효약은 스타일 바이블: 팔레트, 외곽선 굵기, 음영, 시점, 배경 규칙을 단 한 번 못 박는 작고 실행 가능한 프롬프트 템플릿입니다. 이후 각 에셋의 프롬프트는 템플릿에 주제어만 넣으면 됩니다.
우리 오픈소스 참조 프로젝트에서 이것은 스크립트(style_bible.py)로, 각 주제어를 같은 고정 서술로 감쌉니다: 귀엽고 둥근 조형, 따뜻한 파스텔 팔레트, 두껍고 부드러운 외곽선, 투명 배경, 단일 주체, 중앙 배치. 다른 날 생성한 HUD 아이콘 10개가 여전히 한 작가의 손길로 보입니다.
2단계: 에셋은 대화가 아니라 선언으로 기술
스타일 바이블 옆에 매니페스트를 둡니다——각 에셋이 파일명·픽셀 크기·주제어를 선언하는 JSON 목록입니다:
{ "file": "pony.png", "size": [48, 48],
"subject": "a cute chibi pony, chestnut body, cream blaze, side view" }
엔진이 에셋을 파일명과 크기로 로드하므로 계약은 이것으로 완성됩니다: assets/textures/pony.png에 48×48로 놓인 것은 코드 변경 제로로 게임에 그대로 나타납니다. 매니페스트는 diff 가능하고, 리뷰 가능하며——결정적으로——재실행 가능합니다.
3단계: 에이전트가 돌리는 생성 루프
매니페스트의 각 항목에 대해 에이전트는 같은 네 수를 실행합니다:
- 생성——스타일 바이블 프롬프트로 text-to-image;
- 배경 제거——(BiRefNet으로) 진짜 알파 채널 확보. 프롬프트 속 "투명 배경"은 제안이지 보증이 아니기 때문;
- 맞춤——선언된 정확한 픽셀 치수로 리사이즈;
- 배치——선언된 경로에 저장하면 엔진이 이름으로 인식.
어느 단계에도 사람이 필요 없습니다. 우리 프로젝트에서는 이 루프 전체——실행 중인 게임을 핫 리로드해 새 아트를 확인하는 것까지——가 하나의 Claude Code 세션 안에서 일어납니다.
4단계: 더 어려운 에셋 클래스
스프라이트 시트와 타일셋. 프레임/타일 그리드를 한 장의 이미지로 생성하고 스크립트로 잘라, 엔진이 인덱스로 프레임을 참조합니다. 유일한 계약은 프레임 크기 통일.
표정 있는 캐릭터 초상화. 캐릭터마다 text-to-image 베이스 한 장으로 얼굴을 고정하고, 감정 변형은 image-to-image로 파생——같은 얼굴에서 표정만 움직입니다. 우리 비주얼 노벨은 이 방법으로 증인 3명 × 표정 3종을 완벽한 동일성으로 얻었습니다(개발기 전문).
스켈레탈 애니메이션 파츠. 컷아웃 리그는 각 신체 파츠를 개별 투명 이미지로 생성하고, 매니페스트에 파츠별 피벗 포인트를 선언합니다. 리그 자체는 에이전트가 직접 쓰는 JSON——Spine 에디터도, 라이선스도 필요 없습니다.
이미지 너머. 같은 MCP 연결이 음악(text-to-music이 퍼즐 게임과 비주얼 노벨 모두에 곡을 붙임), 보이스(캐릭터별 고정 TTS), 심지어 15초 게임플레이 트레일러(실제 에셋을 키프레임으로 렌더링해 image-to-video)까지 커버합니다.
5단계: 두려움 없이 재생성
프롬프트는 스타일 바이블에, 사양은 매니페스트에 있으므로 재생성은 공짜나 다름없습니다: 바위가 마음에 안 든다? 그 항목만 다시 굴리세요. 더 강한 이미지 모델이 나왔다? 모델 ID 하나 바꿔 매니페스트 전체를 재실행——코드가 잠든 사이 게임 전체가 새 옷을 입습니다. 이것이 "생성을 빌드 루프에 배선하는 것"과 "웹 페이지에서 생성해 손으로 드래그하는 것"의 실제 차이입니다.
작동한다는 증거
이것은 제안서가 아닙니다. 12개 게임 컬렉션——퍼즐, 비주얼 노벨, 샌드박스, 슈터 등——이 모든 에셋을 이 파이프라인으로 생성해 출시되었고, WebAssembly로 어느 브라우저에서나 플레이됩니다. 개발기: 스크린샷 한 장으로 만든 퍼즐 게임, 한 문장으로 출시한 비주얼 노벨, 사람이 만든 에셋 제로의 플레이 가능한 엔진 벤치마크 9종.
질문과 답변
Claude Code를 이미지 생성기에 어떻게 연결하나요?
생성 플랫폼을 MCP 서버로 등록합니다. Floniks라면 명령어 한 줄: claude mcp add --transport http floniks https://api.floniks.com/api/v1/mcp에 Authorization 헤더로 API 키를 더하면 됩니다. 모델들이 호출 가능한 도구로 에이전트 앞에 나타납니다.
많은 에셋에서 화풍을 일관되게 유지하려면?
재사용 가능한 프롬프트 템플릿("스타일 바이블")로 팔레트·외곽선·음영·시점을 한 번만 고정하고, 에셋마다 주제어만 바꿉니다. 캐릭터는 베이스 이미지 한 장으로 동일성을 고정하고 image-to-image로 변형을 파생합니다.
생성된 아트가 수작업 없이 게임에 들어가는 원리는?
규약입니다: 매니페스트가 각 에셋의 파일명과 픽셀 크기를 선언하고, 엔진은 파일명으로 로드합니다. 에이전트가 생성·배경 제거·사양대로 리사이즈·선언 경로 저장까지 수행하면, 게임은 코드 변경 제로로 인식합니다.
스프라이트 시트와 애니메이션도 만들 수 있나요?
네. 통일 그리드 이미지를 생성해 프레임 크기로 자르면 시트 애니메이션, 투명 파츠들과 JSON 리그를 생성하면 컷아웃 스켈레탈 애니메이션——둘 다 단순한 엔진 계약이 받아냅니다.
더 좋은 모델이 나오면 어떻게 되나요?
새 모델 ID로 매니페스트를 재실행합니다. 모든 에셋의 프롬프트와 사양이 데이터로 저장되어 있어, 모델만 바꾸면 라이브러리 전체가 그 자리에서 재생성되고 아키텍처는 그대로입니다.
/developers/mcp에서 Floniks를 Claude Code에 배선하는 것부터 시작하세요. 이 파이프라인이 속한 7단계 방법론은 시리즈 총람에서 볼 수 있습니다.

