개요

드디어 우리가 만들 게임이 정해졌다. Slime Ranch (슬라임 목장). 한 달 내내 “게임을 만드는 AI”만 만들다가, 이제 그 AI에게 실제로 게임을 시켜본 편이다.

아이디어 한 줄

파이프라인의 입력은 딱 한 줄이다.

“죽은 자리가 낙인이 되는 슬라임 목장 로그라이트”

이 한 줄을 넣으면 기획 AI가 리서치 카드 DB에서 근거를 찾아와 청사진과 기능 명세를 뱉는다.

로그라이트가 뭔가요

죽으면 이번 판에 모은 건 대부분 잃지만, 다음 판을 조금 더 유리하게 만드는 성장은 남는 구조다. (게임 오버가 완전한 처음이 아니라, 조금씩 앞으로 가는 처음인 셈)

여기에 우리가 얹은 게 “낙인”이다. 같은 지역에서 계속 죽으면 그 땅에 낙인이 쌓이고, 그 땅에서 태어난 슬라임은 뒤틀린 형질을 자손에게 물려준다.

AI가 상상하지 않게 만들기

지난 편들에서 만들어 둔 RAG 구조가 여기서 일을 했다. 기획 AI는 주어진 리서치 카드 ID로만 인용할 수 있고, 지지 근거 2장 이상 + 반례를 반드시 채워야 통과된다.

이번 게임에서 실제로 검색된 근거는 이랬다.

  • 지지 근거
    GENRE-012 죽으면 런은 초기화되되 메타 성장은 남는 루프
    ELEM-017 낮은 확률 + 천장 카운터
    ELEM-009 죽음이 이야기를 잇는 패턴

  • 반례
    GAME-022 《Darkest Dungeon》 — 가혹한 죽음 루프 위에 난이도를 더 얹어 만회 경로가 없는 누적 불이익이 생겼고, 호불호가 갈렸다

  • 완화책
    오염 단계가 오르면 돌연변이 확률도 함께 올려 만회 레버로 쓰고, 낙인 누적에는 지역별 상한을 둔다 (spec-004)

반례 칸을 왜 강제했나
AI는 칭찬하는 쪽으로 기운다. “이 아이디어 어때?” 라고 물으면 대체로 좋다고 한다. 그래서 반례 칸을 비워두면 기획서가 아예 통과되지 않게 만들었다. 부탁이 아니라 규칙으로 막은 것이다.

기능 명세 12장

청사진에서 기능 단위로 쪼갠 결과가 12장 나왔다.

ID 기능
spec-001 Run Loop & Biome Dive (탐험 → 귀환 루프)
spec-002 Slime Capture (포획)
spec-003 Ranch Breeding (교배)
spec-004 Biome Stigma & Corruption Tier (낙인·오염)
spec-005 Mutant Trait Reversal (돌연변이)
spec-006 Corrupted Gene Inheritance (유전)
spec-007 Player Combat & Encounter (전투)
spec-008 Breeding Pen Placement (축사 배치)
spec-009 Biome Roster & Dive Destination (지역 선택)
spec-010 Ranch Labor Assignment (동행 지정)
spec-011 Run Loot & Death Forfeit (사망 시 손실)
spec-012 Pursuit & Directional Attack (추격·방향 공격)

한 장의 실제 모습은 이렇다.

"acceptanceCriteria": [
  "RunStarted and RunEnded events are each appended as one line to a log file within 1 frame",
  "The Hub scene loads within 2 sec of RunEnded(Extraction), verified by automated test Test_Hub_Load_2s",
  "0 NullReferenceException appear in the console across a full hub-to-death test cycle"
],
"refs": ["GENRE-012"], "dependencies": []

합격 기준이 전부 숫자나 눈으로 확인 가능한 사실로만 쓰여 있다. “재미있게”, “자연스럽게” 같은 말은 금지어라 쓰면 검사기가 기획서를 반려한다.

쉽게 말하면
“방 좀 깨끗이 치워” 는 사람마다 기준이 다르다. “바닥에 물건 0개, 책상 위 3개 이하” 는 다툼이 안 난다. 기획서를 후자로만 쓰게 강제한 것이다.

에셋은 결국 사람이 사이트에서 뽑았다

여기서 좀 아픈 이야기가 나온다.

Asset MCP에 Pixellab.ai API를 붙여서 54종을 생성했는데, 최종 게임에 들어간 건 4장뿐이다.

왜 그랬나

게임에는 8방향 회전과 프레임 애니메이션이 필요했는데, 우리 Asset 서버가 구현한 건 “글 → 정지 이미지 한 장” 엔드포인트 하나뿐이었다. 도구가 줄 수 있는 것과 게임이 필요로 하는 것을 미리 맞춰보지 않은 결과다.

결국 같은 Pixellab.ai를 웹 사이트에서 직접 열어 8방향 스프라이트와 타일셋을 뽑았다. API로 자동화해 놓고, 정작 쓴 건 사람 손이었다.

배운 점
“생성이 되는가” 와 “게임에 들어갈 수 있는 형태인가” 는 다른 질문이다. 파이프라인을 만들 때 후자를 먼저 물었어야 했다.

사운드
  • Stable Audio — 지역별 배경음악 (AI 생성)
  • ElevenLabs — 효과음 8종, 로비 배경음악 (AI 생성)
  • Sonniss GDC Bundle / Kenney — AI로 만들기 어려웠던 효과음 보완 (로열티 프리, CC0)

표시 의무가 없는 출처까지 전부 README에 적었다. 의무가 없다는 것과 밝히지 않아도 된다는 건 다르다고 봤다.

한줄 평

  • 자동화해둔 걸 사람이 손으로 다시 하는 순간, 그 자동화는 아직 완성이 아니었다는 뜻이다.