본문으로 건너뛰기

sprite-gen

v1
작성 2026-06-27읽는 시간 8

그림 한 장으로 게임용 2D 스프라이트를 자동 생성

sprite-gen으로 만든 게임 캐릭터 스프라이트 — 투명 배경에서 달리는 늑대 'howl' 애니메이션

이건 뭐예요?

게임 속 캐릭터가 가만히 서 있다가, 뛰어가고, 말하고, 환호하는 모습을 본 적 있으시죠. 그게 다 여러 장의 그림을 빠르게 넘겨서 만든 동작이에요. 옛날 만화영화의 셀 애니메이션처럼요. 그런데 이런 동작 그림들을 한 장 한 장 손으로 그리는 건 정말 고된 일이에요. 캐릭터 한 명에 동작 대여섯 개만 넣어도 그림이 수십 장 필요하거든요.

sprite-gen(스프라이트 젠) 은 이 고된 작업을 자동화해주는 도구예요. 비유하자면 이래요. 배우 한 명을 스튜디오에 세워두고 "이번엔 서 있어 봐", "이번엔 뛰어 봐", "이번엔 웃어 봐" 하고 여러 포즈를 시켜서 연속 촬영해요. 그다음 배경을 깔끔하게 지워서 게임에 바로 붙일 수 있게 만들어주죠. 한마디로 1인 자동 스튜디오예요. 우리가 건네줄 건 딱 두 가지뿐이에요. 배우 사진 한 장(베이스 이미지, 동작의 기준이 되는 원본 그림)시킬 동작 목록(서 있기·뛰기·말하기·성공 등) 이요.

여기서 몇 가지 단어를 먼저 짚고 갈게요.

  • 스프라이트(sprite): 게임 화면에 등장하는 캐릭터·사물의 작은 그림 한 조각이에요.
  • 스프라이트 아틀라스(sprite atlas) 또는 스프라이트 시트(sprite sheet): 여러 동작 그림을 한 장에 차곡차곡 모아둔 큰 그림판이에요. 게임이 이 한 장에서 필요한 조각만 꺼내 씁니다.
  • 투명 배경(알파, alpha): 그림 뒤가 비어 있어서 어떤 배경 위에 올려도 자연스럽게 얹히는 상태예요.

sprite-gen은 캐릭터 한 장을 넣으면, ① 생김새를 흐트러뜨리지 않고 ② 동작별로 그림을 만들고 ③ 배경을 진짜 투명하게 지우고 ④ 깔끔한 동작 프레임으로 잘라내서 → 게임에 바로 쓰는 투명 스프라이트 시트로 뽑아줘요. 어느 그림이 어떤 동작인지 적은 목록표(매니페스트, manifest)까지 같이 만들어줘서, 게임 코드가 그 표만 읽으면 바로 동작을 재생할 수 있답니다.

  • 만든 사람: GitHub aldegad 님 (오픈소스로 직접 공개해 주셨어요)
  • 라이선스: Apache-2.0 — 출처만 밝히면 상업적으로도 자유롭게 쓸 수 있는 너그러운 라이선스예요
  • 크레딧: 동작을 가로 한 줄(row, 동작 하나가 옆으로 펼쳐진 띠)씩 만드는 핵심 방식은 같은 Apache-2.0 라이선스의 hatch-pet 스킬에서 영감을 받았다고 README에 밝히고 있어요
  • 동작 대상: 클로드 코드(Claude Code), Codex 같은 스킬을 읽는 AI 비서라면 어디서든

쉽게 말해, 코딩이나 그림 실력이 없어도 캐릭터 그림 한 장으로 게임용 동작 에셋을 통째로 뽑아내는 도구예요.


어떤 결과물이 나오나요?

말로 설명하기보다 결과물을 먼저 보여드릴게요. 맨 위에서 보신 늑대 'howl'이 바로 sprite-gen이 만든 스프라이트예요. 배경이 완전히 비어 있어서(투명) 어떤 게임 화면에 올려도 네모난 흰 박스 없이 자연스럽게 달리죠.

재미있는 건 화풍을 가리지 않는다는 점이에요. 아래는 같은 도구로 만든 또 다른 캐릭터인데, 분위기가 완전히 달라요.

sprite-gen으로 만든 또 다른 화풍 — 빨강머리 픽셀아트 캐릭터 'claudecy'의 말하기 애니메이션

이건 도트(픽셀)로 찍은 듯한 레트로 게임 풍의 캐릭터 'claudecy'예요. 부드러운 일러스트 늑대와 옛날 게임 감성의 픽셀 캐릭터가 똑같은 도구에서 나왔어요. 베이스 이미지의 화풍을 그대로 따라가기 때문에, 내가 넣은 그림 스타일대로 동작이 만들어지는 거예요.

정리하면 sprite-gen의 최종 산출물은 두 가지예요.

산출물무엇인가요게임에서 하는 일
투명 스프라이트 시트동작별 프레임을 한 장에 모은 투명 그림판화면에 캐릭터를 그릴 때 쓰는 그림 원본
매니페스트(manifest)어느 프레임이 어떤 동작인지 적은 목록표게임 코드가 "뛰기 동작" 프레임을 찾아 재생

우리는 이렇게 쓰고 있어요

솔직하게 말씀드릴게요. 저(디온웍스 대표)는 sprite-gen을 운영 중인 서비스에 이미 깊게 적용했다고 자랑하려는 게 아니에요. 다만 왜 이 도구가 우리한테 딱 필요한 빈틈을 메워주는지 는 분명히 말씀드릴 수 있어요.

저희는 캐릭터 기반 서비스를 만들고 있어요. 그중 하나가 character-world(캐릭터 월드) 라는 프로젝트예요. 판타지풍 이름을 지어주는 연구소 콘셉트에, 레트로 도트(픽셀) 캐릭터들이 등장하는 서비스죠.

이런 캐릭터 서비스를 만들 때 늘 발목을 잡는 게 에셋(자산, 게임이나 앱에 들어가는 그림·사운드 같은 재료) 이에요. 특히 캐릭터가 살아 움직이는 동작 스프라이트는 그리기도, 외주를 맡기기도 부담이 컸어요. 캐릭터 한 명이 가만히 있기만 하면 심심하고, 동작을 넣으려면 그림이 수십 장 필요하니까요.

sprite-gen은 바로 이 병목을 정확히 겨냥해요. 캐릭터 시안 한 장만 있으면 "서 있기·말하기·기뻐하기" 동작을 자동으로 뽑아낼 수 있으니, character-world 같은 프로젝트에서 캐릭터에 생기를 불어넣는 작업이 훨씬 가벼워지는 거예요. 그래서 저는 이 도구를 "캐릭터 만드는 1인 개발자에게 꼭 필요한 동작 자판기"라고 부르고 싶어요.


어떻게 움직이나요?

"그림 한 장 넣으면 동작이 나온다"는 게 마법처럼 들리죠. 안을 들여다보면 다섯 단계로 차근차근 일하는 컨베이어 벨트예요.

sprite-gen 아키텍처 — 베이스 그림 한 장이 정체성 고정 → 행 단위 생성 → 프레임 추출 → 큐레이션 → 아틀라스 합성으로 흐르는 파이프라인

  1. 정체성 고정 (identity gate) — 가장 중요한 단계예요. AI가 동작 그림을 새로 만들 때마다 캐릭터 얼굴이 미묘하게 바뀌면 안 되잖아요. 그래서 베이스 이미지의 생김새를 앵커(anchor, 닻)처럼 단단히 고정해두고 시작해요. "이 캐릭터는 끝까지 이 얼굴이야" 하고 못을 박는 거죠.

  2. 행 단위 생성 (generate) — 동작 하나를 가로 한 줄(row) 로 쭉 만들어요. 서 있기 한 줄, 뛰기 한 줄, 말하기 한 줄… 이렇게 동작마다 연속 동작이 가로로 펼쳐진 띠(strip)를 그려내요. 마치 필름 한 컷 한 컷이 옆으로 이어진 모습이에요.

  3. 프레임 추출 (extract frames) — 가로로 이어진 띠에서 크로마키(chroma key, 단색 배경을 골라내 지우는 기법) 로 배경을 진짜 투명하게 만들고, 동작 그림 하나하나를 깔끔한 조각(프레임)으로 잘라내요. 영상에서 초록 배경을 지우는 그 기술이라고 보시면 돼요.

  4. 큐레이션 (curate, 사람이 직접 좋은 것만 골라내는 일) — AI가 만든 동작 그림 중에서 자연스러운 프레임만 사람이 직접 골라내는 단계예요. 이 부분이 sprite-gen의 철학이 담긴 곳이라 바로 다음 섹션에서 따로 설명할게요.

  5. 아틀라스 합성 (compose) — 골라낸 깔끔한 프레임들을 한 장에 모아 스프라이트 시트로 합치고, 어느 프레임이 어떤 동작인지 적은 매니페스트까지 함께 출력해요. 게임에 바로 넣을 수 있는 완성품이 나오는 순간이에요.

여기서 sprite-gen이 강조하는 철학이 하나 있어요. "AI 생성은 90%까지만 책임지고, 나머지 마지막 마무리는 사람의 손으로 끌어올린다" 는 거예요. AI가 동작을 빠르게 잔뜩 만들어주되, "배포해도 좋을 만큼 깔끔한가"는 사람이 4단계(큐레이션)에서 직접 확인하는 구조죠. 그래서 결과물이 어설프지 않고 실제로 쓸 만하게 나와요.


큐레이션 웹뷰 — 사람이 고르는 구간

방금 말씀드린 4단계(큐레이션)를 위한 화면이 바로 큐레이션 웹뷰(curation webview, 웹 브라우저로 띄우는 선택 화면) 예요. AI가 동작 후보를 잔뜩 만들어주면, 그중에서 가장 자연스러운 그림만 골라 깔끔한 반복 동작(루프)을 완성하는 작업대예요.

sprite-gen 큐레이션 웹뷰 — 동작(rest·working·success)별로 생성된 프레임을 사람이 골라 깔끔한 루프로 재구성하는 화면

화면 구성이 직관적이에요. 동작 하나당 두 줄로 보여줘요.

  • 윗줄: 지금 재생되는 동작 시퀀스 (실제로 게임에 들어갈 순서)
  • 아랫줄: AI가 만들어준 후보 프레임 풀 (고를 수 있는 모든 그림)

아랫줄에서 마음에 드는 프레임을 드래그해서 윗줄로 끌어다 놓으면 동작이 재구성돼요. 어색한 그림은 빼고, 자연스러운 그림만 골라 매끄러운 반복 동작을 만드는 거죠. 이 편집은 비파괴(non-destructive, 원본을 망가뜨리지 않고 언제든 되돌릴 수 있는 방식) 로 이뤄지고, 고르는 즉시 어떻게 움직이는지 실시간 미리보기로 확인할 수 있어요.

게다가 이 웹뷰는 스탠드얼론(standalone, 다른 프로그램 없이 혼자서도 도는 방식) 이라 클로드 코드 데스크톱이든, Codex 앱이든, 그냥 일반 터미널이든 어디서나 띄울 수 있어요.

재미있는 건, sprite-gen이 캐릭터만 만드는 게 아니라는 거예요. 아래처럼 아이소메트릭(isometric, 비스듬히 내려다보는 2.5D 시점) 가구·오브젝트도 만들어줘요.

sprite-gen 아이소메트릭 그리드 — 정수기·화이트보드·침대 같은 2.5D 가구 오브젝트를 바닥 그리드에 맞춰 생성·정렬

정수기, 화이트보드, 침대 같은 사물을 바닥 그리드(격자) 위에 딱딱 맞춰서 생성·정렬해줘요. 그래서 캐릭터뿐 아니라 게임 속 방·사무실 같은 공간을 꾸미는 소품까지 한 도구로 챙길 수 있어요.


한번 써볼까요?

설치 방법은 크게 두 가지예요. sprite-gen은 라이브러리가 아니라 AI 비서가 읽는 스킬(작업 설명서) 묶음이라, 설치 방식도 거기에 맞춰져 있어요.

(A) Codex 스킬로 설치 (권장) — Codex의 스킬 설치 도구로 한 번에 받아오는 방법이에요.

# aldegad/sprite-gen 스킬을 현재 위치(.)에 설치
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo aldegad/sprite-gen --path .

(B) 직접 클론 + 의존성 설치 — GitHub에서 직접 복제해서 쓰는 방법이에요.

# 저장소를 내 컴퓨터로 복제
git clone https://github.com/aldegad/sprite-gen.git
cd sprite-gen

# 파이썬 가상환경(작업 전용 격리 공간)을 만들고 켜기
python3 -m venv .venv && source .venv/bin/activate

# sprite-gen과 필요한 도구(Pillow 등)를 설치
pip install -e .

여기서 Pillow(필로우) 는 파이썬에서 이미지를 자르고 다루는 도구예요. 배경을 지우고 프레임을 잘라내는 일을 이 친구가 담당해요. (필요 환경: 파이썬 3.10 이상)

(C) 기본 워크플로우 실행 순서 — 설치가 끝나면 아래 순서로 스프라이트가 만들어져요.

# 1) 베이스 이미지로 실행 준비 (작업 폴더와 레시피 자리 잡기)
python3 scripts/prepare_sprite_run.py --out-dir <run-dir> --character-id <id> --base-image base.png

# 2) (여기서 AI가 각 동작 이미지를 생성해 raw/<state>.png 로 저장합니다 — 사람이 칠 명령은 없어요)

# 3) 가로 띠에서 동작 프레임을 잘라내기
python3 scripts/extract_sprite_row_frames.py --run-dir <run-dir>

# 4) 큐레이션 웹뷰를 띄워서 좋은 프레임 고르기 (선택)
python3 scripts/serve_curation.py --run-dir <run-dir>

# 5) 최종 스프라이트 시트(아틀라스) 합성
python3 scripts/compose_sprite_atlas.py --run-dir <run-dir>

<run-dir> 은 작업 결과를 담을 폴더 이름, <id> 는 캐릭터 이름표예요. 처음엔 복잡해 보여도 괜찮아요. 다음 섹션처럼 클로드 코드한테 말로 시키면 이 과정을 알아서 돌려주거든요.


클로드 코드 터미널에서는 이렇게

sprite-gen은 스킬이라서, 클로드 코드(또는 Codex) 대화창에 그냥 말로 부탁하는 게 가장 편해요. 복잡한 스크립트를 외울 필요 없이, 하고 싶은 걸 한국어로 설명하면 스킬이 알아서 위 명령어들을 순서대로 돌려줘요.

먼저 설치부터 시켜볼게요.

클로드 코드 대화창에서 ! 를 맨 앞에 붙이면 터미널 명령어를 바로 실행할 수 있어요.

# 클로드 코드 대화창 안에서 직접 설치 실행 (앞에 ! 붙임)
! python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py --repo aldegad/sprite-gen --path .

설치가 끝났다면, 이제 AI에게 말로 부탁해요. 이건 명령어가 아니라 부탁이라서 ! 를 붙이지 않아요.

이 base.png 캐릭터로 idle(서 있기)·running(뛰기)·talking(말하기)
스프라이트를 만들어줘. 캐릭터 정체성은 base.png 생김새 그대로 유지하고,
동작별로 프레임을 뽑은 다음 큐레이션 웹뷰를 띄워줘. 내가 좋은 프레임을
고르면 그걸로 최종 스프라이트 시트랑 매니페스트까지 합성해줘.

이렇게 부탁하면 클로드가 sprite-gen 스킬을 읽고, 준비 → 생성 → 프레임 추출 → 큐레이션 웹뷰 띄우기까지 알아서 진행해요. 웹뷰가 뜨면 여러분은 마음에 드는 그림만 드래그로 고르면 되고, 다 골랐다고 알려주면 클로드가 최종 시트를 합성해줘요.

가구나 소품을 만들고 싶다면 이렇게 부탁하셔도 돼요.

아이소메트릭(비스듬한 2.5D) 시점으로 사무실 가구 세트를 만들어줘.
정수기, 화이트보드, 책상 의자 세 개를 바닥 그리드에 맞춰서 생성하고,
배경은 투명하게 빼줘.

확인 포인트: 큐레이션 웹뷰가 브라우저에 뜨고, 동작별로 후보 프레임이 두 줄로 보이면 설치와 실행이 잘 된 거예요.


이런 분께 추천해요

sprite-gen은 "캐릭터에 동작을 입히고 싶은데 그림 실력도, 외주 예산도 부담스럽다" 는 분께 딱이에요. 특히 이런 세 분께 추천드려요.

  1. 혼자 도트(픽셀) 게임을 만드는 인디·바이브 코더 — 게임 로직은 어떻게든 짜겠는데 캐릭터 동작 그림이 발목을 잡았던 분이라면, 시안 한 장으로 서 있기·뛰기·공격 동작을 뽑아낼 수 있어요. 위에서 본 픽셀 캐릭터처럼 레트로 화풍도 잘 따라가서, 도트 게임 만드는 분께 특히 잘 맞아요.

  2. 캐릭터 에셋 외주가 부담스러운 프로토타입 기획자 — 아이디어를 빠르게 화면으로 보여줘야 하는데, 매번 디자이너에게 동작 그림을 맡기면 시간도 비용도 커요. sprite-gen으로 우선 "움직이는 시안"을 만들어 두면, 투자자나 동료에게 보여줄 데모를 훨씬 빠르게 꾸릴 수 있어요.

  3. character-world처럼 캐릭터 기반 웹·앱을 만드는 1인 개발자 — 캐릭터가 살아 움직이는 서비스를 혼자 만든다면, 동작 에셋은 영원한 숙제예요. sprite-gen은 그 숙제를 자동화해주는 동시에, 결과물 품질은 큐레이션(사람이 직접 고르는 단계)으로 챙겨줘요. 혼자서도 든든하게 캐릭터에 생기를 불어넣을 수 있는 거죠.


참고 링크

개정 이력1
  • v12026-06-27초판

이 글이 도움이 되었나요?