
서울 지하철 시청역 승강장에서 시작해 출구 계단으로 탈출하는 좀비 선택형 영상 게임 〈밤을 달리다〉를 Claude Haiku 5.5와 GPT-6.1 Terra가 같은 시나리오로 한 편씩 만들었습니다. 두 모델은 Artlist MCP로 같은 Artlist 계정에 연결해 이미지는 GPT Image 2.5 Sunburst, 영상은 Seedance 2.5로 만들었습니다. 기준 자료는 2026년 10월 27일과 28일 제작 때 실제로 보낸 프롬프트 파일과 그 과정을 담은 녹화 영상입니다.
Artlist MCP를 연결한 코딩 에이전트에 프롬프트를 단계별로 보내면, 모델이 설계서를 쓰고 이미지와 영상을 생성한 뒤 브라우저 게임까지 조립합니다. 플레이어는 선택지와 타이밍 버튼만 누르고, 도망치고 싸우는 행동은 모두 생성한 영상으로 보여 줍니다. 아래 프롬프트는 실제로 보낸 원문에서 컴퓨터의 폴더 경로를 [내 작업 폴더], [참고 자료 폴더] 같은 자리표시자로 바꾸고, 두 모델 비교와 제작 관리에만 쓰인 문장을 뺀 것입니다. 절 제목의 시각은 영상 자막 기준입니다.
시작 전 준비: Artlist MCP 연결과 참고 자료 · 03:36
Artlist MCP가 도구 목록에 보이는 것과 실제로 생성 요청이 처리되는 것은 따로 확인합니다. 연결한 뒤 첫 프롬프트를 보내기 전에 Artlist 잔액이나 이미지 한 장의 견적을 물어 응답이 오는지 먼저 봅니다.
영상에서는 Artlist의 MCP 페이지에서 Claude를 골라 연결하는 과정을 보여 줍니다. Claude의 커넥터 메뉴에서 Artlist를 검색해 공식 커넥터로 설치해도 되고, ChatGPT도 비슷한 순서로 연결합니다.
Artlist MCP 페이지 열기
Artlist MCP 페이지에서 연결할 앱으로 Claude를 고릅니다.
Connect MCP 누르기
Claude 쪽에 연결 화면이 열리면 저장해 연결을 추가합니다.
Artlist 계정 연동하기
Artlist 계정으로 로그인해 연동을 마칩니다.
응답 확인하기
잔액이나 이미지 견적을 물어 Artlist 도구가 실제로 응답하는지 확인합니다.
이번 제작에서는 Claude Haiku 5.5를 Claude Code에서, GPT-6.1 Terra를 Codex에서 실행하고 두 앱을 같은 Artlist 계정에 MCP로 연결했습니다. 이미지와 영상 모델은 두 쪽을 같게 맞추고, 기획과 프롬프트 작성을 어느 모델이 맡느냐만 달랐습니다(영상 04:47). Claude 쪽 연결 과정은 Claude와 Artlist MCP로 쇼핑 쇼츠를 만든 가이드에도 정리돼 있습니다.
| 도구 | 이번 제작에서 맡은 일 |
|---|---|
| Claude Code와 Claude Haiku 5.5 | 설계서 작성, 이미지·영상 프롬프트 작성과 생성 요청, 게임 조립 |
| Codex와 GPT-6.1 Terra | 같은 단계를 별도 작업 폴더에서 진행 |
| Artlist MCP | 두 모델을 같은 Artlist 계정의 생성 기능에 연결 |
| GPT Image 2.5 Sunburst | 인물·소품·타이틀 이미지, Max 품질, 2K, 16:9 |
| Seedance 2.5 | 게임 영상, 16:9, 1080p, 오디오 생성 켬 |
| ffmpeg | 확정한 영상의 마지막 프레임을 PNG로 추출 |
참고 자료 폴더에는 실제 장소 사진 3장과 그림체 기준 시트 1장을 넣습니다. 사진은 공간 배치의 기준으로만 쓰고 그림은 모두 그림체 시트의 화풍으로 새로 그리게 했습니다(영상 03:06). 이번 제작에서는 위키미디어 공용에 올라온 서울 지하철 시청역의 승강장 사진과 개찰구 사진(Mobius6, CC BY-SA 4.0), 9번 출구 계단 사진(Striker9498, CC0)을 썼습니다.
그림체 기준 시트는 GPT Image 2.5 Sunburst로 미리 만든 16:9 이미지 한 장입니다. 빈 승강장과 이야기와 관계없는 노인 한 명, 역 안의 물건을 굵은 잉크 외곽선과 평면 음영, 손으로 그린 듯한 빗금으로 그렸고, 모델에게는 시트의 그림체만 따르고 시트 속 인물과 물건은 게임에 쓰지 않게 했습니다.

프롬프트에 나오는 스타일 킷 "밤을 달리다"는 이 시트와 색상표, 그림체 규칙 글을 묶어 Artlist에 미리 저장해 둔 것입니다. 스타일 킷을 만들지 않았다면 해당 줄을 지우고 그림체 시트 참조만 씁니다. 이번 제작의 두 모델도 최종 생성에서는 스타일 킷 대신 그림체 시트를 직접 참조로 넣었습니다.
이번 제작은 Windows에서 진행했고, 프롬프트의 경로도 Windows 형식으로 적었습니다.
시작 전 확인
0/6 완료
1. 베이스 시나리오로 설계서 받기 · 08:11
첫 프롬프트에는 참고 자료 정의, 설계서에 담을 11개 항목, 베이스 시나리오가 함께 들어 있습니다. 영상 02:53과 08:11에서 설명하듯 승강장에서 개찰구를 지나 계단으로 탈출하는 뼈대와 영상 8개의 자리만 주고, 인물·소품·좀비 같은 디테일은 모델에게 맡겼습니다.
지금부터 좀비 생존 선택형 영상 게임을 하나 만든다. 이 세션에서 기획, 이미지·영상 생성(아트리스트 MCP), 게임 코드까지 네가 맡는다. 플레이어는 선택과 타이밍 버튼만 누르고, 모든 행동은 영상으로 보여 준다. 아래 베이스 시나리오의 흐름과 영상 8개의 자리는 바꾸지 말고, 그 안의 디테일은 네가 정해. 폴더와 아트리스트 계정 - 작업 폴더: [내 작업 폴더] 설계서, 에셋, 게임 등 모든 결과물은 이 폴더 안에만 만든다. - 참고 자료 폴더: [참고 자료 폴더] 여기 있는 파일만 보고 쓴다. 읽기만 하고 바꾸거나 지우거나 새 파일을 만들지 않는다. - 스타일 킷 "밤을 달리다"는 읽기만 하고 고치지 않는다. 첨부 자료 (참고 자료 폴더 안에 있다. 이미지·영상을 만들 때는 이 파일을 아트리스트에 올려 레퍼런스로 쓴다) - @img1 = [참고 자료 폴더]\01_station-platform.jpg: 서울 지하철 2호선 시청역 승강장 사진(왼쪽 스크린도어, 오른쪽 벽돌 기둥) - @img2 = [참고 자료 폴더]\02_station-gates.jpg: 같은 역(시청역)의 개찰구 사진 - @img3 = [참고 자료 폴더]\03_station-exit-stairs.jpg: 같은 역(시청역) 9번 출구 계단 사진. 계단 위에서 내려다본 방향이고, 계단 아래쪽 입구에 셔터가 있다. 게임에서는 아래에서 위로 올라간다. @img1~@img3은 공간 배치의 기준이다. 그림은 이 사진을 그대로 쓰지 않고 @img4의 그림체로 다시 그린다. - @img4 = [참고 자료 폴더]\04_style-reference.png: 그림체 기준 시트(빈 승강장, 노인 한 명, 역 안의 물건). 입체감 있는 인물과 공간 위에 굵은 잉크 외곽선, 평면 음영, 손으로 그린 듯한 그림자 빗금. 그림체만 따르고, 시트 속 인물·물건·장면은 이번 게임에 그대로 쓰지 않는다. - 이미지와 새 장면 영상(V1·V3)은 아트리스트 스타일 킷 "밤을 달리다"를 적용한다. 실제 마지막 PNG를 시작으로 쓰는 분기 영상은 PNG 입력을 우선하고, MCP가 스타일 킷 동시 입력을 지원하지 않으면 스타일 킷을 보내지 않고 그림체·색을 텍스트로 고정한다. 이번 단계에서는 아무것도 생성하지 말고 설계서만 써줘. 사전 키프레임 생성·승인 단계는 없다. 인물·소품 참조를 준비한 다음 실제 영상 초안으로 판단한다. 이 게임은 실제 마지막 PNG를 다음 시작 프레임으로 등록하고 상태 텍스트도 함께 넘긴다. 영상은 아트리스트 Seedance 2.5, 16:9, generate_audio=true다. 이 게임의 6~12초·그래픽 노블·Artlist 조건을 지킨다. 1. 한 줄 콘셉트와 분위기 (3문장 이내) 2. 인물 디자인: 주인공, 동료, 좀비(몇 종류로 할지는 네가 정한다). 나이대, 체격, 옷, 신발, 머리, 색, 한눈에 구별되는 특징. 3. 소품 디자인: 인물이 입고 들고 쓰는 물건과 역 안에서 집어 드는 물건(무기, 겉옷, 가방 등). 물건마다 생김새, 색, 크기, 누가 어느 영상에서 쓰는지. 4. 역 공간 지도: @img1~@img3을 보고 승강장·개찰구·출구 계단의 위치와 이동 방향을 정리. 인물이 화면 어느 쪽에서 어느 쪽으로 가는지가 영상 내내 일관되어야 한다. 5. 영상 8개 연출표: V1~V5b마다 무슨 일이 일어나는지, 길이(6~12초), 시작 상태, 카메라의 위치·높이·방향, 등장하는 소품. 선택·타이밍 직전 영상(V1, V3, V4a)은 마지막 1~2초에 인물이 거의 멈춘 자세를 적는다. 6. 화면 문구: 선택지 문구, 타이밍 안내, 자막·대사(짧게), 엔딩 이름 2개, 게임 오버 문구. 7. 선택 A가 엔딩에 남기는 흔적 (영상을 더 만들지 않고). 8. 소리 계획: 배경음 1곡과 효과음 5개 이내의 분위기와 쓰는 자리. 아트리스트 카탈로그에서 고른다. 9. 만들 에셋 목록: 인물 전신·얼굴 근접·소품·타이틀 이미지와 영상의 파일 이름과 용도. 필요한 이미지 수는 네가 정한다. 장면별 사전 키프레임은 만들거나 검수하지 않는다. 10. 제작 계약: 고정 프롬프트 블록, 상대 조명 비율, 인물별 목소리·성격 고정값, 컷별 상태·톤·정확한 대사, 시작·끝 상태 각 인물 한 줄, 다음 영상의 첫 행동·첫 대사를 정한다. 카메라·공간·물리 설명은 필요한 만큼 간결하게 쓴다. 11. continuity-plan.json에 부모→마지막 PNG→두 자식의 연결표와 각 시작 상태를 저장한다. V2a·V2b 다음 V3는 새 장면 전환이다. 두 분기를 서로의 다음 영상으로 연결하지 않는다. 규칙 - 기존 게임의 이야기, 인물, 화면 디자인, 문구를 가져오지 않는다. - 좀비는 특수분장 수준의 피와 상처까지 넣는다. 절단이나 내장 같은 신체 훼손, 피가 튀는 장면을 가까이 오래 보여 주는 것은 넣지 않는다. - 격투와 타격을 넣는다. 밀치기, 발차기, 주변 물건으로 막고 치기. 맞는 쪽이 밀려나고 넘어지는 무게감이 보이게 한다. - 간판과 표지판은 글자 없이 기호만. 설계서는 [내 작업 폴더]\design.md로 저장하고, 같은 내용을 [내 작업 폴더]\design.html로 만든다. design.html은 브라우저에서 바로 열리는 단독 파일(doctype, charset, viewport 포함)로, 가독성 좋은 UI로 한눈에 읽히게 만든다. 순서는 콘셉트 → 인물 카드 → 소품 카드 → 역 공간 지도 → 영상 8개 연출표(갈래 구조가 그림으로 보이게) → 화면 문구 → 소리 계획 → 에셋 목록. 다 만들면 design.html의 경로를 알려 주고 멈춘다. 내가 "진행"이라고 하면 다음 단계로 간다. 베이스 시나리오 제목: 밤을 달리다 장르: 좀비 생존, 선택형 영상 게임 (플레이 5분 안팎). 그래픽 노블풍 셀 셰이딩 그림체(@img4). 좀비 특수분장 수준의 피·상처와 격투·타격 있음. 신체 훼손 없음. 장소: 서울 지하철 시청역 (@img1~@img3). 승강장 → 개찰구 → 출구 계단 → 새벽 거리. 인물 - 주인공: 막차에서 내린 사람. - 동료: 역에서 만나는 낯선 사람 한 명. - 좀비: 터널 쪽에서 올라오는 무리. 흐름 1. 오프닝: 자정, 막차가 떠난 승강장. 불이 깜빡이고 터널 쪽에서 무언가 다가온다. 2. 선택 A (5초): 숨는다 / 달린다. 어느 쪽이든 동료를 만난다. 3. 개찰구를 지나 출구 계단을 오르는데 좀비가 덮친다. 4. 타이밍 (3초): 성공하면 덮치는 좀비를 받아쳐 떨어뜨리고 계단 위로 빠져나가고, 실패하면 게임 오버(계단 장면부터 다시). 5. 출구 셔터가 내려가는 중에 동료가 뒤처지고 좀비가 붙잡는다. 6. 선택 B (5초): 좀비를 쳐내고 손을 잡는다 / 혼자 빠져나간다 → 엔딩 2개. 선택 A의 결과는 엔딩의 자막이나 대사 한 줄에 남는다. 영상 8개 - V1 오프닝 → 마지막 프레임에서 선택 A - V2a 숨는다 / V2b 달린다 (V1의 마지막 프레임에서 이어짐) - V3 출구 계단 (새 장면) → 마지막 프레임에서 타이밍 - V4a 성공 / V4b 실패 = 게임 오버 (V3의 마지막 프레임에서 이어짐) - V5a 함께 탈출 / V5b 혼자 탈출 (V4a의 마지막 프레임에서 이어짐) 인물과 소품(옷, 신발, 가방, 무기 등)은 모든 영상에서 같은 모습으로 보여야 한다.
모델은 design.md와 design.html을 만든 뒤 멈춥니다. 설계서를 읽고 다음 단계로 넘어갈 때는 "진행."으로 시작하는 2단계 프롬프트를 보냅니다.
다른 장소나 장르로 만들 때는 아래 줄을 바꿉니다.
| 바꿀 곳 | 이번 예시 | 바꿀 내용 |
|---|---|---|
| 첨부 자료 @img1~@img3 | 시청역 승강장, 개찰구, 9번 출구 계단 사진 | 내 장소 사진 3장의 파일 이름과 사진에 보이는 배치 |
| 첨부 자료 @img4 | 그래픽 노블풍 그림체 시트 | 내 그림체 시트의 파일 이름과 특징 |
| 베이스 시나리오의 제목·장르·장소 | 밤을 달리다, 좀비 생존, 서울 지하철 시청역 | 내 게임의 제목, 장르, 장소 |
| 베이스 시나리오의 인물과 흐름 | 막차에서 내린 주인공, 승강장에서 새벽 거리까지 | 사진 3장의 공간 순서에 맞춘 인물과 흐름 |
| 규칙의 수위 줄 | 특수분장 수준의 피, 격투와 타격 | 장르에 맞는 표현 수위 |
영상 8개의 자리와 선택·타이밍 위치를 유지하면 3·4단계 프롬프트의 연결 순서도 바꾸지 않고 쓸 수 있습니다. 좀비, 셔터, 특수분장처럼 장르에 묶인 낱말과 4단계 끝의 경로 이름(숨기/달리기 같은 것)은 2~4단계 프롬프트에서도 함께 바꿉니다.
2. 인물·소품·타이틀 이미지 만들기 · 09:21
설계서를 확인했으면 이미지를 만듭니다. 모든 이미지는 GPT Image 2.5 Sunburst로 만들고, 생성할 때마다 그림체 시트를 참조로 넣어 글 설명만으로 그림체를 맞추지 않게 했습니다.
인물은 전신과 얼굴 근접을 따로 만듭니다. 전신은 몸과 옷, 신발, 가방의 기준이고 얼굴 근접은 같은 인물인지 알아보는 기준이라 영상 단계에서 두 장을 짝지어 넣습니다. 영상의 이 구간에서는 두 모델이 같은 시나리오로 서로 다른 인물과 좀비, 소품을 설계해 그린 결과를 보여 줍니다.

진행. 설계서대로 이미지를 아트리스트 MCP로 직접 생성해. 영상은 아직 만들지 않는다. 프롬프트는 네가 쓰고, 결과를 직접 열어 확인한 뒤 다음으로 넘어가. 작업 폴더: [내 작업 폴더] 모든 파일은 이 폴더 안에 만든다. 생성 조건 (바꾸지 말 것) - GPT Image 2.5 Sunburst, Max, 2K, 16:9. 모든 이미지는 16:9로 만들고 다른 비율로 자르지 않는다. - 모든 이미지 생성에 @img4(그림체 기준 시트)를 레퍼런스 이미지로 함께 넣는다. 그림체를 글로만 설명하지 않는다. 시트 속 인물·물건·장면은 따라 그리지 않고 그림체만 가져온다. - 스타일 킷 "밤을 달리다"도 적용한다. - 좀비의 피와 상처는 특수분장(분장용 가짜 피, 분장 상처)으로 표현한다. 신체 훼손은 그리지 않는다. - 다시 뽑기는 이미지마다 1번까지. 비용이 큰 생성에서 승인을 물으면 내 답을 기다린다. 만들 것 (몇 장을 만들지는 네가 정한다) 1. 인물 기준 이미지: 전신은 체격·옷·신발·가방 기준, 별도 얼굴 근접은 정체성 기준으로 역할을 나눈다. 전신 누끼의 얼굴 세부를 의도적으로 줄인 영상 참조용 사본을 만들어 저해상도 얼굴을 그대로 복사하지 않게 하고, 같은 인물의 선명한 얼굴 근접 참조와 짝짓는다. 인물을 다른 사람으로 바꾸거나 실제 얼굴에 상처를 그리라는 뜻이 아니다. 원본 전신·얼굴은 보존하고, 이미 쓸 수 있는 이미지가 있으면 재사용하며 필요한 참조만 보충한다. 얼굴 근접 이미지도 16:9다. 2. 소품 기준 이미지: 설계서의 소품(무기, 겉옷, 가방 등)을 물건마다 단색 배경으로 만들고, 배경을 지워 누끼를 만든다. 인물 기준 이미지에 나온 옷·신발·가방과 같은 모양이어야 한다. 3. 타이틀 화면: 한글 제목 "밤을 달리다"가 정확히 들어간 이미지. 타이틀에는 @img4에 더해 등장하는 인물·소품 기준 이미지도 레퍼런스로 넣는다. 장면별 사전 키프레임은 생성·검수하지 않는다. 다음 판단 대상은 실제 영상 초안이다. 만든 이미지는 다시 뽑은 것과 쓰지 않기로 한 것까지 전부 [내 작업 폴더]\assets\images 아래에 남긴다. [내 작업 폴더]\assets\manifest.json에 이미지마다 파일 이름, 종류(전신·얼굴 근접·소품·타이틀), 원본/참조용 사본의 관계, 용도, 사용 모델과 설정, 아트리스트 생성 ID, 프롬프트 원문, 레퍼런스, 시도 번호, 사용 여부(쓰지 않으면 이유)를 기록한다. 다 만들면 [내 작업 폴더]\review-images.html을 만든다. 브라우저에서 바로 열리는 단독 파일(doctype, charset, viewport 포함)로, 가독성 좋은 UI로 만든다. - 맨 위에 요약: 종류별 장수, 다시 뽑은 수, 쓰지 않기로 한 수 - 순서: 인물 전신·얼굴 근접 쌍 → 소품 → 타이틀 → 쓰지 않기로 한 이미지 - 이미지마다 크게 보기, 파일 이름, 용도, 시도 번호, 프롬프트 원문(접어 두기) - 소품마다 누가 어느 영상에서 쓰는지 표시 - 인물 참조에는 전신/얼굴 역할과 같은 인물을 가리키는 짝을 표시. 참조 이미지 검토에 장면 키프레임 승인을 끼워 넣지 않는다 - 마음에 안 드는 부분도 솔직하게 적는다 review-images.html의 경로를 알려 주고 멈춘다. 내가 "영상 진행"이라고 하면 다음 단계로 간다.
모델은 만든 이미지를 다시 뽑은 것과 쓰지 않기로 한 것까지 manifest.json에 기록하고, review-images.html로 모아 보여 준 뒤 멈춥니다. 인물과 소품이 설계서와 같은 모양인지 확인한 다음 "영상 진행."으로 시작하는 3단계 프롬프트를 보냅니다.
3. 작업 지시서 8칸으로 영상 만들기 · 10:49
영상은 Seedance 2.5로 16:9 화면에 대사와 효과음까지 함께 생성합니다. 3단계 프롬프트는 모델이 영상마다 8칸 작업 지시서를 쓰게 하고, 앞 영상을 확정해 마지막 프레임을 뽑은 뒤에야 그 프레임에서 이어지는 영상을 만들게 합니다.
영상 08:06에서 말하듯 영상 클립은 생성 전에 견적을 받아 만들지 정했고, 프롬프트에도 비용이 큰 생성에서는 승인을 기다리라는 줄이 있습니다. 스타일 킷과 시작 프레임을 함께 넣을 수 없다는 MCP 제약 문장은 10월 27일 제작 당시 기준입니다.
영상 진행. 설계서와 인물·소품 기준 이미지로 영상 8개를 아트리스트 MCP로 직접 생성해. 사전 장면 키프레임 생성·검수는 하지 않는다. 실제 영상 초안을 보고 판단한다. 작업 폴더: [내 작업 폴더] 모든 결과물은 이 폴더 안에 만든다. 생성 조건 (바꾸지 말 것) - 영상 모델은 Artlist Seedance 2.5만 사용한다. 16:9, generate_audio=true. 배경음악 없이 공간음·발소리·좀비 숨소리·타격음과 필요한 원문 대사를 함께 만든다. - 480p 초안을 직접 확인한 뒤 쓸 것을 render_draft로 1080p 확정한다. 유효 기간이 지났거나 렌더 실패 시 그 상태를 기록하고 처리한다. 다른 모델로 자동 대체하지 않는다. - 각 영상 길이는 설계서의 6~12초를 따른다. - 처음부터 끝까지 그래픽 노블 셀 셰이딩, 굵은 잉크 외곽선·평면 음영·빗금을 유지한다. 실사로 바꾸지 않는다. - 좀비 외형은 assets/images/[좀비 기준 이미지 파일]의 피·피부 수위를 유지한다. 회녹색 피부, 멍, 마른 피와 상처를 특수분장으로 표현한다. 신체 절단·노출 장기·피가 튀는 근접 장면은 넣지 않는다. - 다시 뽑기는 영상마다 1번까지. 비용이 큰 생성에서 승인을 물으면 내 답을 기다린다. 프롬프트 고정 블록 (각 영상에서 이 순서 유지) 1. GLOBAL STYLE & TEXTURE: 해상도·비율·그림체, 초점 효과 하나, 자막·워터마크·배경음악 금지. 2. LIGHTING DESIGN: 광원 방향·색온도·그림자, 피부·천·주요 소품의 상대 강조 비율과 시간대별 강도. 비율은 실사 광택 대신 평면 음영 면적·밝기 관계로 해석한다. 정상 노출과 얼굴 가독성을 유지한다. 3. INPUT MODE & FIXED SPACE MAP: 새 장면/마지막 PNG 연결을 구분하고 고정 공간·이동 축을 짧게 쓴다. 실제 입력 목록을 그 호출에 업로드한 순서대로 @img1, @img2…로 매핑한다. @start는 실제 등록한 시작 PNG다. 4. SCENE, CAST, PROPS & START STATE: 허용된 인물·배경 인물·소품만 목록화한다. 인물마다 시작 상태 한 줄(화면 위치·자세·시선·어느 손의 소품·의상 상태), 카메라 위치·높이·방향·거리, 셔터 높이와 조명을 고정한다. 배경 좀비는 명시한 행동만 하고 주역 동작·대사를 빼앗지 않는다. 5. TIMED SHOTS: 각 시간 구간의 행동을 짧은 산문 한 단락으로 쓴다. 누가 어느 방향으로 치고 상대가 어디로 밀리며 무엇을 놓는지 원인→반응 순서로 쓴다. 불필요한 카메라 수사를 늘리지 않는다. 구간 합은 영상 길이와 같아야 한다. 6. DUBBING & PERFORMANCE: 목소리·음색·성격은 인물별 고정값, 감정 상태·말속도·어미는 컷별 변수다. 설계서의 한국어 대사를 글자 그대로 한 번 끝까지 말한다. 말의 특정 단어에 시선·손·표정 변화를 맞추고, 무대사는 none으로 적는다. 없는 대사를 지어 넣지 않는다. 7. FIXED FINAL STATE & NEXT HANDOVER: 인물마다 끝 상태 한 줄, 소품·카메라·조명·셔터 상태, 다음 갈래별 첫 행동·첫 대사를 미리 쓴다. 이 텍스트를 다음 프롬프트의 START STATE에 그대로 인계한다. 생성 결과가 다르면 실제 영상에 맞춘 인계본과 차이를 기록한다. 8. CORE LOCKS: 목록 밖 인물·물건·효과 추가 금지, 인물 정체성·의상·소품 유지, 배경은 조연, 간판은 글자 없이 기호만, 대사 원문 유지, 생성 영상에 자막·음악 없음. 레퍼런스와 시작 PNG - 새 장면 V1·V3: 인물 전신(몸·옷)·얼굴 근접(정체성)·소품·해당 실제 역 사진·그림체 시트를 역할별로 넣는다. 서로 다른 인물의 얼굴을 섞지 않는다. 지원되는 참조 방식으로 스타일 킷 "밤을 달리다"를 적용한다. - 연속 분기 V2a·V2b, V4a·V4b, V5a·V5b: 부모 확정 1080p에서 추출한 실제 마지막 PNG를 사용한다. PNG와 상태 텍스트를 함께 쓴다. - 로컬 PNG 업로드 → confirm_upload → 반환 assetId를 input: { startFrame: { assetId: 실제_ID } }로 등록한다. 프롬프트에 @start라고 쓰기만 하거나 일반 레퍼런스 배열에 넣는 것으로 대신하지 않는다. 부모 영상 generationId를 정지 이미지 대신 넘기지 않는다. - 현재 MCP에서 시작 프레임과 styleKitId·참조 배열을 함께 쓸 수 없으므로, 연속 분기는 시작 PNG를 우선하고 styleKitId와 추가 참조 배열을 넘기지 않는다. 그림체·색·신규 등장 인물의 얼굴·의상·목소리는 고정 텍스트로 유지하고 실제 결과를 대조한다. 이 제한 때문에 인물 동일성이 자동 보장된다고 기록하지 않는다. - 첫 화면의 카메라·구도·인물 자세·소품·셔터·조명을 @start와 맞춘다. 측면/역방향 등 새로운 카메라는 첫 행동을 이어 받은 뒤에만 이동하거나 컷한다. 의존 순서 (8개를 한꺼번에 생성하지 않는다) - V1 초안 → 검토 → 1080p 확정·다운로드 → assets/frames/V1_last.png → V2a·V2b. - V2a·V2b 다음은 새 장면 V3. 두 V2의 끝을 하나의 시작 PNG로 합치지 않는다. - V3 초안 → 검토 → 1080p 확정·다운로드 → assets/frames/V3_last.png → V4a·V4b. - V4a 초안 → 검토 → 1080p 확정·다운로드 → assets/frames/V4a_last.png → V5a·V5b. - 같은 갈래 쌍은 같은 PNG 파일과 SHA-256을 쓴다. V4b는 게임 오버, V5a·V5b는 엔딩이다. 마지막 프레임 추출·검수 - V1·V3·V4a는 마지막 1~2초를 자연스럽게 거의 멈춘 자세로 끝내고 암전·UI·자막을 넣지 않는다. - 최종 파일을 디코딩해 실제 마지막 프레임 딱 1장을 원본 크기 PNG로 추출한다(ffprobe로 프레임 수/시각 확인, ffmpeg로 마지막 프레임 선택). 끝에서 대충 0.1초 앞을 잡거나 화면 캡처로 대신하지 않는다. 재그림·크롭·확대·색보정·글자 합성 없이 보존한다. - 추출 뒤 PNG를 열어 확인한다. 이것은 생성 전 키프레임 검수가 아니라 완성 영상의 연결 프레임 확인이다. 검정/깨진 끝이면 원본을 보존하고 검수된 편집 확정본을 만든 뒤, 게임과 추출에 같은 확정본을 쓴다. - 부모 마지막 화면·게임 정지 PNG·자식 첫 화면과 첫 동작을 대조한다. 세부 묘사의 작은 차이보다 인물·소품·방향·행동의 의미가 맞는지 우선 판단하고, 손가락·얼굴 붕괴 등 명확한 오류는 남기지 않는다. 특정 성공률을 보장하지 않는다. - 부모 확정본을 바꾸면 PNG와 그 PNG를 쓴 자식들의 검수 상태를 다시 연다. 파일·기록 - 초안·확정본·탈락본은 assets/videos, 연결 PNG는 assets/frames, 별도 음원은 assets/audio에 남긴다. 기존 생성물은 지우지 않는다. - 각 영상의 최종 영어 프롬프트를 assets/video-prompts/<V번호>.txt, 갈래별 텍스트 인계문을 assets/handovers/<부모>_to_<자식>.txt로 저장한다. - assets/manifest.json에 모델·설정·생성 ID·프롬프트·실제 API input·시도·선택 여부를 기록한다. 부모 영상 경로/생성 ID/SHA-256, 마지막 프레임 번호·시각, PNG 경로/SHA-256/업로드 assetId, 자식 생성 ID를 연결해서 기록한다. 아직 없는 ID를 채워 넣지 않는다. - 생성 영상의 원음부터 확인한다. 카탈로그 음악·효과음은 실제 편집에 필요한 것만 추가하고 대사·타격음을 중복시키지 않는다. 끝나면 영상 목록, 연결 검수 결과와 남은 문제를 정리하고 멈춘다.

영상 프롬프트에서 챙길 다섯 가지 · 10:59
영상은 8칸 작업 지시서를 설명하면서 아래 다섯 가지를 따로 짚습니다. 다른 장소나 장르로 바꿔 쓸 때도 이 규칙들은 남겨 둡니다.
마지막 프레임을 다음 영상의 첫 프레임으로 · 10:59
선택지는 영상의 마지막 장면 위에 뜨고, 다음 영상은 그 장면에서 이어져야 합니다. 3단계 프롬프트는 확정한 영상에서 실제 마지막 프레임 한 장을 원본 크기 PNG로 뽑아 Artlist에 올리고, 그 PNG를 다음 영상의 시작 프레임으로 등록하게 합니다. 인물 위치와 소품, 카메라를 적은 끝 상태 문장도 다음 프롬프트의 시작 상태로 넘깁니다.

제일 센 장면을 앞 몇 초 안에 · 11:18
영상 하나하나가 늘어지면 게임 전체가 지루해져, 영상마다 제일 센 장면이 몇 초에 나오는지를 먼저 정했습니다. 첫 장면의 초안은 좀비가 6~7초가 지나서야 나왔고, 피드백 뒤에는 열차가 떠나자마자 불빛이 번쩍이고 곧바로 좀비가 등장하도록 바뀌었습니다.
이 규칙은 아래 한 줄로 3단계 프롬프트의 생성 조건 끝에 덧붙여 씁니다.
- 영상마다 임팩트 초를 먼저 정해 TIMED SHOTS 맨 앞에 쓰고 이후 반응과 여운을 배치한다. 어떤 영상도 3초 넘는 정지 없이 의미 있는 움직임을 이어간다.참조는 @번호로, 조명은 상대 비율로 · 11:47
영상에서 설명하듯 Artlist에서는 참조 이미지에 @ 태그로 번호를 붙여 프롬프트에서 부를 수 있습니다. 3단계 프롬프트는 그 호출에 올린 순서대로 @img1, @img2 번호를 매기고, 번호마다 전신·얼굴·소품·장소 같은 역할을 적게 합니다. 조명은 밝기를 절대값으로 주지 않고 상대 비율로 정했습니다. 영상에서는 우산 금속이 가장 밝고 그다음 피부, 그다음 옷 순서가 되도록 비율을 줬더니 이미지가 더 깔끔하게 나왔다고 설명합니다.
금지 대신 자리를 정하기 · 12:16
영상 프롬프트에는 금지 문장보다 원하는 자리를 정하는 문장을 더 많이 썼습니다. 열차를 금지하는 대신 "열차는 왼쪽 유리문 뒤 선로에만", "멀리 작은 빨간 불빛 두 개만"처럼 보일 자리와 모습을 정하는 식입니다. 영상은 Terra가 이 지시를 잘 지켰고, Haiku 5.5 쪽에서는 열차가 승강장 복도를 가로질렀다고 짚습니다.
선택 직전에 거의 멈춘 여유 두기 · 13:10
게임 선택지는 영상이 끝난 화면 위에 얹으므로, 선택 직전 영상의 끝에는 인물이 거의 멈춘 여유가 있어야 합니다. 1단계 프롬프트의 연출표 항목과 3단계 프롬프트의 마지막 프레임 규칙이 V1, V3, V4a의 마지막 1~2초를 거의 멈춘 자세로 끝내게 합니다.
4. 브라우저 게임으로 조립하기
영상과 연결 프레임이 모이면 게임을 조립합니다. 영상 07:55에서 말하듯 두 게임 모두 이미지와 영상 생성부터 게임 조립까지 대화 하나 안에서 진행했고, 결과는 index.html 하나와 assets 폴더만으로 인터넷 연결 없이 Chrome에서 열리는 브라우저 게임입니다.
선택과 타이밍 순간에는 앞 영상의 마지막 PNG를 띄우고 별도 UI 레이어로 선택지를 얹습니다. 다음 영상도 같은 PNG에서 시작하므로 정지 화면에서 영상으로 넘어갈 때 구도가 맞습니다.
작업 폴더: [내 작업 폴더] 모든 파일은 이 폴더 안에 만든다. 이제 [내 작업 폴더]\assets의 에셋으로 브라우저 게임을 조립해. - [내 작업 폴더]\index.html 하나와 [내 작업 폴더]\assets만으로 동작한다. 외부 라이브러리와 인터넷 연결 없이, 크롬에서 index.html을 열면 바로 실행된다. - 화면은 16:9, 전체 화면 버튼, 한글 UI. - 흐름: 타이틀 → "시작" → V1 → 선택 A → V2a 또는 V2b → V3 → 타이밍 → V4a 또는 V4b(게임 오버) → 선택 B → V5a 또는 V5b → 엔딩 화면. - 선택·타이밍 순간: 부모 확정 영상이 끝나면 그 영상에서 추출해 다음 갈래의 시작 입력으로도 쓴 동일한 마지막 PNG를 표시한다. PNG 자체를 확대·수정하지 않고 별도 UI 레이어로 살짝 어둡게 하고 선택지를 띄운다. 선택은 5초 안에(시간이 다 되면 설계서에 정한 쪽으로), 타이밍은 3초 안에 스페이스 또는 화면 버튼. - 다음 영상 첫 프레임이 준비될 때까지 PNG를 유지한다. PNG와 영상의 표시 크기·위치·크롭을 같게 하고 0.15초 겹쳐 넘긴다. 프리로딩을 쓰고 검정 화면·구도 점프를 확인한다. 전환 효과로 잘못된 시작 프레임을 숨기지 않는다. V2a·V2b→V3는 명시된 새 장면 전환이다. - 게임 오버 → "다시 하기"는 V3부터. - 선택 A를 기억해 엔딩의 자막이나 대사 한 줄을 바꾼다. - 소리: Seedance로 만든 대사·공간음·타격음을 먼저 사용한다. 카탈로그 음악·효과음은 필요한 곳에만 추가하고 중복시키지 않는다. 정지 화면에서는 긴장음. UI 대기 중 셔터 하강 같은 사건 소리는 멈추고 소리 크기 균형을 맞춘다. - 엔딩 화면: 엔딩 이름과 "처음부터" 버튼. - 키보드와 마우스 모두 동작한다. - 기존 게임의 화면 디자인이나 문구를 따라 하지 않는다. 다 만들면 모든 경로(숨기/달리기 × 성공/실패 × 함께/혼자)를 직접 확인하고, 확인한 것과 남은 문제를 정리해.
완성한 두 게임은 영상 04:55(Haiku 5.5)와 06:37(Terra)에서 처음부터 끝까지 플레이합니다.

5. 플레이해 보고 한 가지씩 고치기
게임을 직접 해 보고 가장 거슬린 곳부터 하나씩 고칩니다. 아래 양식의 대괄호 칸을 채워 보내면 모델이 가장 중요한 문제 하나를 골라 고칩니다. 다시 만드는 에셋은 2개까지로 묶어 두고, 무엇을 왜 바꿨는지 짧게 적게 합니다.
작업 폴더: [내 작업 폴더] 모든 파일은 이 폴더 안에 만든다. 플레이 테스트 메모 1. 가장 거슬린 장면과 이유: [ ] 2. 같은 인물·소품으로 안 보인 곳: [ ] 3. 게임이 이상하게 동작한 곳: [ ] 이 중 가장 중요하다고 보는 것 하나를 골라 고쳐. 다시 생성하는 에셋은 2개까지. 무엇을 왜 바꿨는지 짧게 써줘.
영상 12:40에서는 Terra 게임의 초반 장면을 고친 예를 보여 줍니다. 좀비가 다가오는데 두 사람이 걸어서 도망가 긴장감이 없어, 더 다급하게 해 달라고 다시 요청한 장면입니다.
두 모델의 단가와 결과에서 본 차이 · 13:43
오픈AI(OpenAI)의 GPT-6.1 Terra 모델 문서에 따르면 Terra의 표준 단가는 백만 토큰당 입력 1달러, 출력 5달러이고, 입력이 272K 토큰을 넘는 요청에는 요청 전체에 입력 2배·출력 1.5배 단가가 붙습니다. 앤트로픽(Anthropic)의 Claude Haiku 5.5 모델 문서는 프롬프트 10만 토큰 이하 요청에 입력 0.10달러·출력 0.50달러, 넘는 요청에 입력 0.50달러·출력 2.50달러를 적용합니다.
10만 토큰 이하 요청끼리 견주면 입력과 출력 모두 10배 차이입니다(영상 02:25). 이 단가는 언어 모델 사용료이고, Artlist의 이미지·영상 생성 크레딧은 따로 듭니다. 단가는 10월 29일 확인 기준입니다.
영상의 총평에서 Haiku 5.5는 목표로 한 애니메이션 질감을 처음부터 끝까지 유지했지만 중간의 화면 전환 로직이 어색했고, Terra는 마지막 프레임까지 장면을 잘 이어 전체 로직은 좋았지만 갈수록 실사 쪽으로 바뀌었다고 평가합니다. 모델 등급으로 보면 Terra가 크게 앞서야 하지만 결과는 꼭 그렇지 않았다는 것이 영상의 판단입니다. 같은 시나리오와 같은 이미지·영상 모델을 썼는데도 두 모델이 정한 인물과 좀비, 연출부터 서로 달랐습니다.
아래 표는 이번 한 번의 제작에서 영상이 짚은 설계 차이입니다.
| 항목 | Claude Haiku 5.5 | GPT-6.1 Terra | 영상 시각 |
|---|---|---|---|
| 도망 방향 설계 | 좀비 반대쪽, 개찰구와 출구 쪽으로 도망. 화면 기준 방향은 정하지 않음 | 좀비는 화면 왼쪽에서 오고 사람은 화면 오른쪽으로 도망. 이 부분은 Terra가 낫다는 평가 | 08:32 |
| 인물과 좀비 | 남자 주인공, 미화원 여자 동료, 정장·역무원 조끼·빨간 후드 좀비. 빨간 후드 좀비의 습격 장면이 인상적이라는 평가 | 여자 주인공, 남자 조력자, 회색 후드·보라 재킷 좀비 | 09:24 |
| 소품 사용 | 우산, 밀대, 소화기, 안전콘을 장면 속 행동에 씀 | 소품을 쓰는 장면은 없었지만 인물 디자인은 더 낫다는 평가 | 10:16 |
영상은 두 모델이 한 번에 얼마나 잘 만드는지 보려고 중간중간 방향을 다시 잡아 주지 않았다고 밝힙니다(14:02). 실사 금지와 애니메이션풍을 프롬프트에 더 엄격하게 적었다면 Terra의 결과가 더 좋았을 수 있다는 것이 영상의 해석입니다(14:18).

자주 묻는 질문
다른 장소와 장르로 옮겨 쓸 때 걸리기 쉬운 범위와 비용 조건입니다. 답은 이번 제작과 영상에서 확인한 내용을 기준으로 합니다.
같은 프롬프트를 쓰면 영상과 같은 게임이 나옵니까?
Artlist 크레딧은 얼마나 듭니까?
Seedance 2.5 대신 다른 영상 모델을 써도 됩니까?
Claude 앱이나 ChatGPT에서도 이 프롬프트를 쓸 수 있습니까?

힉스필드·Blender로 3D 좀비 게임 만들기: 기획부터 리깅과 브라우저 구현까지
직접 만든 LAST CHECKPOINT를 기준으로 레퍼런스 이미지, Tripo H3.1 모델링, Higgsfield 리깅, 액션 미리보기, 브라우저 게임 구현과 오류 해결을 정리했습니다.

MiniMax Design 게임 캐릭터 제작 가이드: 영상 보면서 따라 만들기
〈이세계에서 살아남기〉 제작 영상을 보면서 게임 설명, 캐릭터 초상화, 호감도 단계, 픽셀 시트, 레모네이드 장면, MiniMax H3 영상까지 순서대로 따라 만드는 가이드입니다. 단계마다 영상 시각과 복사할 프롬프트를 담았습니다.

앤트로픽 Claude Haiku 5.5 출시, Haiku 4.5보다 평균 75% 저렴하다고 밝혔다
앤트로픽이 10월 7일 내놓은 Claude Haiku 5.5의 단가는 프롬프트 10만 토큰을 경계로 둘로 나뉩니다. Haiku 4.5보다 90% 낮은 단가는 10만 토큰 이하 요청에만 붙고, 이를 넘는 요청은 50% 낮은 단가를 냅니다.

오픈AI GPT-6.1 Terra 출시, 작업당 비용과 속도를 앞세운 컴퓨터 사용 모델
오픈AI가 컴퓨터 사용과 시각적 추론에 초점을 둔 GPT-6.1 Terra를 출시했습니다. 자체 측정한 Agents’ Last Exam 최대 추론 강도에서 작업당 비용은 Claude Opus 5.5의 약 9분의 1이었지만, 점수는 3.2%p 낮았습니다.
