誌개발일지 · 2026.11.02 – 11.12 · 11일

무림세가 개발일지

CK3처럼 한 사람이 아니라 핏줄을 플레이하는 무협 가문 시뮬레이션이다. 설계서 첫 줄부터 65번째 작업 지시서까지, 11일 동안 AI와 함께 만든 것과 내가 정한 것, 고친 것을 게임 화면과 함께 정리했다.

'무림세가'는 첫 화면에 쓴 가제다. 날짜는 한국 시간, 장(章)은 내가 Claude Code에게 넘긴 작업 지시서 번호다.

무림세가 첫 화면. 왼쪽에 세가를 고르는 판, 오른쪽에 산 위에 선 검객 그림
첫 화면 (45장, 11/8). 다섯 세가 가운데 하나를 골라 시작한다. 처음 11월 2일 판은 글과 단추뿐이었다.
11일설계서 첫 줄(11/2)부터 오늘(11/12)까지
65장끝낸 작업 지시서. 66장은 써 두었다
194설계서에 날짜와 함께 남긴 결정
35,854줄게임 코드 (GDScript 파일 117개, 점검 코드는 빼고)
49자동 점검. 장마다 모두 다시 돌린다 (한 번에 49분)
33 · 12이벤트 33개 · 가주의 일 12개
287건AI가 글 모드로 플레이하며 직접 내린 결정 (11/10 · 11/11 · 11/12 세 번)
4,959장게임에 들어간 그림 (초상 4,834 · 아이콘 65 · 화면 28 · 웹툰 컷 19 · 배경 13)
≈2,400장OpenAI 이미지 API로 뽑은 그림 (11/4부터)
5 · 6배경 음악 5곡 · 효과음 6개
31숫자와 글을 담은 데이터 표 (csv)
1 · 어떤 게임인가

가주가 되어 핏줄을 잇는다

무대는 명나라풍 가상 왕조의 하남성이다. 정파 중소 세가 다섯이 있고, 플레이어는 그 가운데 한 세가의 가주가 된다. 혼인하고, 아이를 낳고, 수련하고, 후계자를 세우고, 죽으면 다음 대가 잇는다. 0.1의 목표는 손자가 가주가 되는 것이고, 시뮬레이션으로 보면 평균 60년쯤 걸린다.

시계는 하루 단위로 흐른다. 플레이어는 배속과 일시정지로 지켜보고, 큰일이 생기면 저절로 멈춘다. 가주는 몸이 하나라 한 번에 한 가지 일만 한다. 폐관하는 동안에는 집안 일을 돌볼 수 없다.

낙양육가 모란검법 개봉위가 탁류도법 남양엽가 백엽장 허창종리세가 파진창법 신양은가 세우비침

색 칸은 37장에서 정한 세가 빛깔이다. 초상의 포와 옷이 이 색으로 물들어, 얼굴만 보고도 어느 집 사람인지 알 수 있게 했다.

설계 원칙 일곱 가운데 셋

  • 설계는 끝그림까지, 만드는 건 한 조각씩. 처음엔 1층만 지어도 기초는 5층을 버티게 한다.
  • 숫자와 글은 코드가 아니라 표로. 지역 · 무공 · 경지 · 특성 · 이벤트 글이 모두 csv 표에 있다. 늘릴 때는 표에 줄만 더한다.
  • 선택하는 게임. 모든 선택은 얻는 것과 잃는 것이 갈리고, 상황에 따라 정답이 달라야 한다.
2 · 만드는 방식

결정은 내가, 손과 눈은 AI가

나

무엇을 만들지, 어느 쪽으로 갈지 모두 내가 정한다. 직접 해 보고 이상한 곳을 찾는다.

Claude

설계서 · 이벤트 글 · 그림(API 생성, 자르기, 가림 그림) · 작업 지시서를 쓰고, 보고를 읽고 검토한다.

Claude Code

지시서대로 코드를 짜고, 점검을 돌리고, 화면을 찍고, 보고를 쓴다.

플레이테스터

Codex와 새 Claude 대화가 글 모드로 몇십 년씩 직접 골라 가며 플레이하고, 버그와 엉킨 곳을 근거와 함께 남긴다. 11/10부터.

내 결정→ 작업 지시서 (.md)→ 구현 · 점검→ 보고 · 사진→ 검토 · 다음 질문

코드는 직접 짜지 않는다. 대신 보고와 사진, 초상 시트로 맞게 됐는지 확인한다. 한 장은 대개 몇 시간 걸린다. 11월 7일 하루에만 28장부터 39장까지 열두 장이 돌았다. 장이 끝날 때마다 보고는 murim-0.1-work-order.md에 쌓이고, 결정은 설계서 10번 '결정 기록'에 날짜와 함께 남는다. 결정이 바뀌어도 지우지 않고 이력으로 둔다. 몇 장마다 AI에게 플레이를 맡기고, 거기서 나온 것을 모아 고치는 장을 따로 둔다 (55 · 62 · 66장).

기준선 diff 0

그림이나 화면만 바꾸는 장에서는 같은 운 번호로 이벤트를 끈 200판을 돌린다. 그 결과가 전 장과 한 줄도 다르지 않아야 한다. 가게에서 영수증 두 장을 겹쳐 대 보는 것과 같다. 한 줄이라도 다르면 그림만 바꾼다면서 세상까지 건드렸다는 뜻이다.

같은 까닭으로 초상을 고르는 데는 게임의 운을 쓰지 않는다. 사람마다 태어날 때 정해진 수만 쓴다.

3 · 날마다 한 일

열하루의 기록

11.02
MON
설계서 · 0.1

설계서를 쓰고, 그날 바로 글자판이 돌았다

Claude와 설계서를 처음 쓰면서 하루 동안 결정 69개를 내렸다. 세가 · 문파 · 마교를 모두 '세력' 하나로 묶고 계승 방식만 다르게 한다. 엔진은 Godot, 그림은 웹툰풍(기준은 깔끔한 선과 가라앉은 색의 교주 시안)으로 정했다. 0.1의 목적은 하나였다. "핏줄을 잇는 것 자체가 재미있는가." 그래서 그림 · 지도 · 소리 없이 글과 단추만으로 첫 판을 만들었다.

글과 단추만 있는 첫 판 메인 화면
첫 판 메인 화면. 세가 사람 목록, 올해 할 일, 연대기가 글로만 있다.
글로 된 가계도
글로 된 가계도. 지금 가주가 몇 대째인지 들여쓰기로 보였다.
11.03
TUE
0.1 · 13장

100년을 자동으로 돌리고, 첫 얼굴을 붙였다

개발용 100년 자동 진행과 통계 화면이 생겼다. 직접 해 보니 이벤트 선택지가 고민할 가치가 없고 글뿐이라 눈에 들어오지 않았다. 그래서 '좋은 선택지의 조건' 다섯 가지를 세우고 마음 · 체면 · 판정 확률 같은 새 값을 더했다. 그림 프롬프트 문서를 따로 두고, 내가 ChatGPT로 그린 첫 초상을 붙였다.

100년 자동 진행 뒤의 메인 화면
100년 자동 진행 뒤. 이런 판을 수백 번 돌려 숫자를 맞춘다.
처음 붙인 초상 묶음
첫 초상 (13장). 아직 생김새가 거의 같고, 체형 · 옷 구분이 없다.
역병 이벤트 창 초기판
이벤트 창 첫 모습. 12번 '역병'. 그림 한 장 아래에 글과 선택지가 있다.
11.04
WED
14장

AI가 먼저 플레이하고, 다른 AI 둘이 설계를 읽었다

14장에서 AI 플레이테스트 모드를 만들었다. 화면 없이 결정을 하나씩 내릴 수 있어서, Claude에게 먼저 몇 판을 해 보게 했고 모자란 정보 넷이 나왔다. 설계는 Gemini와 GPT에게도 따로 검토받아 이벤트 3판, 가문의 기억, 대를 잇는 사건들을 더했다.

이날 큰 그림도 여럿 정했다. 대부분 내가 떠올린 것을 Claude가 설계서에 정리했다. 바깥에서 오는 사건 아홉 가지와 구금, 강호 서열(1신 · 2룡 · 4존 · 천하십대고수), 다섯 세가의 가문 무공 이름이다. 아이 단계를 셋으로 나누는 것도 이날 정했다. 이 결정은 나흘 뒤 다섯 단계가 된다. OpenAI 이미지 API로 그림을 뽑기 시작한 것도 이날이다.

11.05
THU
15 – 22장

0.1.2와 0.1.3: 이벤트 3판, 얼굴 넓히기, 아이콘, 소리

  • 15이벤트 3판과 플레이테스트로 찾은 것 고침 (혼담 나이 차, 거절하면 3년 잠금 등)
  • 16어른 초상 넓히기: 얼굴 유형, 얼굴마다 나이 든 얼굴, 신분 · 혼인에 따른 머리. 그림 434장과 앞머리칼 조각 154장
  • 18글 대신 아이콘 61개와 마우스를 올리면 뜨는 설명 풍선, 외모 점수 보이기
  • 20소리: ElevenLabs로 배경 음악과 효과음 여섯 (종 · 징 · 책장 넘김 · 현이 끊기는 소리 등)
  • 22표정 조각 228장 (기쁨 · 자신만만 · 근심 · 분노 · 슬픔)과 여자 체형
화면 개편 전의 1920×1080 화면
화면 개편 전 (20장). 세 칸에 글이 빽빽하다. 이 화면이 이튿날 통째로 바뀐다.
11.06
FRI
23 – 27장

체형에 맞춘 얼굴, 그리고 화면 개편

근육질 몸에 마른 얼굴이 얹혀 보이는 것을 고치려고 체형에 맞춘 얼굴을 만들었다. API 그림 402장에서 조각 1,583장을 잘라냈다. 23 · 24 · 25장은 그 그림의 흠을 고쳐 다시 들여오는 장이었다.

26 · 27장은 화면 개편이다. 1920×1080을 바탕으로 화면 규칙을 정하고 첫 화면, 하남 지도 메인, 한 해 정리, 인물 상세, 가계도, 혼담 창, 이벤트 창을 새로 그렸다.

하남 지도가 가운데 있는 새 메인 화면
화면 개편 1 (26장). 가운데 수묵 하남 지도, 왼쪽 우리 세가, 오른쪽 연대기, 아래 올해 할 일.
11.07
SAT
28 – 39장

가장 바빴던 날: 시간이 흐르는 게임으로

열두 장이 돌았다. 가장 큰 결정은 35장이었다. 해 보니 1년 단위는 빠르고 밋밋했고, 1년 내내 폐관하는 건 말이 안 됐다. 그래서 11월 2일에 내가 정한 '실시간은 만들지 않는다'를 뒤집었다. 시계가 흐르고(배속 · 일시정지), 가주의 일은 석 달 · 반년 · 1년처럼 기간이 생겼다. 전투만 턴으로 남았다.

  • 28 – 30올해 할 일을 '다음 해로' 전까지 바꿀 수 있게. 남은 옛 창 여덟을 새 모양으로. 선택지 카드는 숫자 대신 말 두 줄과 얼굴로
  • 31 – 34「가문의 일상」 세 곡을 돌려 틀기. 이름표는 명사로 ("졌다 · 이겼다" → "승리 · 패배")
  • 36가주의 일이 끝나면 결과 창: 진척 32% → 58%처럼 시작과 끝 숫자
  • 37옷 1판: 신분 · 처지에 맞는 옷(부인 · 여식 · 평민 · 상복 등)과 겨울 겉옷, 다섯 세가 빛깔 물들이기
  • 380.2 첫 판, AI 세가. 다른 세가가 목표를 세우고 움직이며 우리를 찾아온다: 도전장 · 선물과 사절 · 도움 요청, 하남 서열, 연말 '하남의 한 해'
  • 39얼굴형 2판: 얼굴형이 너무 똑같아 보여서 둥근 · 긴 · 각진 · 갸름한 얼굴 22개를 더했다
시간이 흐르는 메인 화면
흐르는 시계 (33 · 35장). 위에 배속 단추, 아래 진행 · 멈춤.
폐관을 마친 결과 창
결과 창 (36장). 석 달 폐관이 끝나면 무엇이 얼마나 올랐는지 보여 준다.
겨울 겉옷을 입은 초상이 있는 메인 화면
겨울 (37장). 겨울이면 초상에 겉옷이 겹친다.
초상이 들어간 새 가계도
새 가계도. 초상과 선으로 잇고 族譜 글씨를 깔았다.
도전장 이벤트 창
도전장 (38장). 다른 세가가 비무를 청한다. 누가 나설지 고른다.
한 해 정리 창
한 해 정리 (38장). "130년이 저물었다". 우리 집과 하남의 한 해.
신분과 체형별 옷 시트
옷 1판 시트 (37장). 같은 얼굴에 신분 · 처지 · 체형별 옷을 겹친 모습. 옷은 세가 빛깔로 물든다.
새 얼굴형 22개
얼굴형 2판 (39장). 윤곽이 다른 새 얼굴 22개. 이제 어른 얼굴은 남녀 25가지씩이다.
11.08
SUN
40 – 47장

하남이 움직이고, 가주의 일이 열둘이 됐다

  • 40손님이 한 해 0.93번밖에 오지 않아 모든 목표가 손님을 보내게 → 2.13번
  • 41지도 위에 다른 가주가 하는 일 아이콘, 세가 '요즘', 늦게 들려오는 소문 띠, 세가끼리 도전장
  • 42청소년 초상 (13 – 15세). 그전에는 아홉 살쯤 얼굴로 15세까지 지내다 16세에 바로 스물대여섯 얼굴이 됐다
  • 43가주가 도전장을 직접 받으면 가주의 한 달을 쓴다. 혼담 나이 차가 크면 확률이 낮아진다
  • 44바깥에서 오는 사건 넷: 낭인 식객 · 도적 출몰 · 황실의 압박 · 야반도주. 새 규칙 셋: 관부와의 관계 · 구금 · 식객
  • 45글 다듬기. 글이 기계 번역 같아서 규칙을 정했다: "화면은 쉬운 말, 이야기는 무협". 이벤트글 398줄을 고치고, 게임이 그리는 초상 300장을 시트로 모았다
  • 46가주의 일 넷 더: 강호 유람 · 문하 단련 · 관부 출입 · 비무 대회 개최 → 모두 열둘
  • 47아이 단계 다섯: 갓난아기 · 어린아이 · 소년소녀 · 청소년 · 어른

캐릭터 그림이 여전히 이상해 보여서, 그날 밤에는 Claude에게 45장 초상 시트 300장을 한 장씩 보며 흠을 직접 찾게 했다. 바탕 회색이 3 – 8만큼 밝아 몸 둘레에 생긴 테 607장, 귓불 옆에 뜬 점 128장, 경장 머리띠 토막 32장, 은퇴 모자 위로 삐져나온 상투 32장, 흰 머리 앞머리칼의 철사 같은 선 84장을 고쳤다. 남자처럼 보이던 여자 얼굴 둘은 다시 그렸다.

가주의 일 카드 열두 장이 있는 메인 화면
가주의 일 열둘 (46장). 폐관 안정 · 폐관 무리 · 운기요양 · 후계자 지도 · 문하 단련 · 혼담 · 교류 · 강호 유람 · 관부 출입 · 비무 대회 개최 · 집안 돌봄 · 쉬어 가기. 카드마다 아래에 효과가 한 줄 붙는다.
지도 위 활동 아이콘
지도가 살아난다 (41장). 다른 세가 가주가 폐관 중인지, 유람 중인지 지도에서 보인다.
도적 출몰 이벤트 창
도적 출몰 (44 · 46장). 좀도둑 무리 · 산채 · 큰 산채 세 규모. 이기고도 다칠 수 있다.
비무 대회 이벤트 창
비무 대회 (46장, 25번 이벤트). 석 달 준비하면 여덟 명 대진이 열린다.
인물 상세 화면
인물 상세 (45장). 큰 초상과 경지 · 진척 · 성격 · 관계.
같은 사람이 나이별로 자라는 초상 시트
아이 단계 다섯 (47장). 강보에 싸인 갓난아기부터 어른까지. 세가 빛깔은 강보와 포에만 든다.
11.09
MON
48 – 54장

얼굴과 몸이 자란다, 그리고 바깥 평가

47장 보고를 보다가 "어릴 때 외모가 크면 바뀌는 경우가 많은 것 같은데" 싶었다. 청소년 얼굴은 생김새 단계마다 하나(남녀 5개)였다. 그래서 16세에 어른 얼굴 25가지 가운데 하나로 바뀌며 사람이 갑자기 달라졌다. 48장에서 청소년 얼굴을 어른 얼굴 유형마다 하나씩(남녀 25개) 만들었다. 이제 13세 얼굴이 그 사람의 어른 얼굴을 열 살쯤 어리게 한 모습이다.

49장은 그다음 든 생각에서 나왔다. 체형도 폭식이나 내상, 단련 같은 특수한 상황에서 더 자주 바뀌면 좋겠다는 것. 이제 무거운 내상을 입은 동안은 야윈 몸이 된다. 문하 단련을 오래 받으면 튼튼해질 수 있다. [태만]은 나이 들며 살찌기 쉽고 [무치]는 튼튼해지기 쉽다. 단, 체형은 그림에만 쓰기로 했다. 튼튼하다고 강한 건 아니니까.

오후에는 다른 AI에게 평가를 받았고, Claude에게 그 지적을 코드에서 하나씩 확인하게 했다. 저장에서 빠진 칸 하나와 실패해도 성공으로 끝나는 점검이 진짜 문제였다. Claude가 50 · 51장 지시서를 썼다. 50장은 단련으로 튼튼해지는 몫을 반으로, 51장은 저장 빠짐을 고치고 점검이 실패하면 실패로 끝나게 했다.

같은 날 바깥 AI가 기획 제안 열둘을 냈다. 약속, 세대 결산, 무위로 영향력, 여러 단계 대형 사건, 정마대전까지. 처음에는 설계서에만 적어 두려다 "제안도 결국 확정이잖아" 싶어서 모두 만들기로 했다. 순서는 플레이를 보고 정하기로 했다.

저녁에는 Codex에게 글 모드로 5년을 먼저 해 보게 했다. 같은 손님에게 같은 답을 반복하는 게 지루하다는 말에 52장에서 세가별 사절 응대 방침과 '지도 비무', 손님 창의 맥락 한 줄, 출전 후보 비교표를 넣었다. 승부도 이때 바꿨다: 경지가 한 단계 위면 80%, 두 단계 위면 95%. 53 · 54장은 내가 찾은 버그다. 평범한 무가 출신 혼처 셋이 모두 같은 얼굴이었고, 혼담이 한 달 뒤 말없이 무산됐다.

20명의 12·13·15·16·30세 초상
자라는 줄 시트 (48장). 서로 다른 20명의 12 · 13 · 15 · 16 · 30세. 13세부터 30세까지 같은 사람으로 이어진다. 12에서 13으로 넘어갈 때는 아직 얼굴이 바뀐다. 소년소녀(8 – 12세)는 생김새 단계마다 하나라서다.
태어날 때 체형과 지금 체형을 나란히 놓은 20명
체형이 바뀐 사람 (49장). 왼쪽 '태어날 때' | 오른쪽 '지금'. 까닭마다 4명씩: 내상 · 단련 · 무치 · 태만 · 나이.
청소년 형제가 보이는 가계도
가계도의 청소년 (48장). 13 – 15세 형제가 각자 다른 얼굴이다. 같은 날 16세 아래 아이의 인물 상세에서는 '미혼'을 뺐다.
출전 후보 비교표가 있는 도전장 창
도전장과 출전 후보 비교 (52장). 대신 나설 사람마다 이길 확률 · 이기면 · 지면 · 내상 · 후계 순위를 한 줄에. 맨 위 노란 줄은 그 집과의 지난 일 한 줄이다.
11.10
TUE
55 – 56장 · Codex 플레이

AI가 먼저 3대를 살았고, 떠난 가주에게 일생 한 장이 생겼다

직접 3대를 플레이하기 전에 Codex에게 글 모드로 3대를 먼저 해 보게 했다. 사건마다 글을 읽고 직접 고른 결정이 46건이다. 평가 한 줄은 이랬다. "가족 이야기가 만들어지는 재미는 확실하다. 그 이야기를 잘 보여 주고 다음 선택으로 이어지게." 기록을 하나하나 대조해서 버그를 찾는 건 내가 직접 할 때보다 낫다는 느낌이었다.

  • 55플레이에서 나온 것: 어린 가주에게 온 도전장은 '성년이 되면 받겠다'로 미룰 수 있고 겁쟁이 소리를 듣지 않는다. 바깥 일에는 후견인이 글로 붙는다. 아버지 · 할머니 같은 호칭을 한 곳에서 정한다
  • 56세대 결산. 가주가 떠나면 계승 장면 다음에 '일생' 한 장: 물려받을 때와 떠날 때의 서열 · 체면 · 식구, 큰 선택 셋, 남긴 사람, 풀지 못한 갈등, 그를 기억하는 한마디. 은거한 선대가 세상을 떠나면 짧은 부고

새 기능의 차례도 이날 정했다. 세대 결산 → 세가 사이 사연 → 약속 → 무위로 영향력 → 대형 사건 → 대규모 전쟁. 그리고 하나를 더했다. "너무 긴장감만 있는 이벤트보다 일상을 즐길 수 있는" 잔치와 축제다.

떠난 1대 가주의 일생 한 장
일생 — 1대 가주 (56장). 큰 선택 셋, 남긴 사람, 풀지 못한 갈등. 아래 칸은 아내가 그를 기억하는 한마디다.
열한 살 가주에게 온 도전장
어린 가주에게 온 도전장 (55장). 열한 살 가주는 맨 아래 '성년이 되면 받겠다'로 미룰 수 있다. 하남은 어린 가주에게 도전장을 보낸 쪽을 수군거린다.
은거한 선대 가주의 부고 창
부고 (56장). 은거한 지 6달 된 선대가 떠났다. '일생 자세히'를 누르면 위의 한 장이 열린다.
11.11
WED
57 – 61장 · Codex 플레이

잔치, 사연, 쌍둥이, 천하도, 그리고 웹툰 컷

  • 57잔치 넷. 다른 세가의 연회 초대 · 낙양 모란 대회 · 소림사 산문 법회 · 하남 영웅연. 술 겨루기, 시 짓기, 검무, 모란 아래의 인연. 배경 그림 셋을 새로 그렸다
  • 58세가 사이 사연. 위기에 도와준 은혜, 청을 외면한 일, 들킨 첩자는 대를 이어 남는다. 비무에서 꺾인 원한 같은 작은 일은 두 집 가주가 모두 바뀌면 흐려진다. 도움 요청에 '은혜를 갚는다', 화해를 청하는 길, 화해의 혼담
  • 59쌍둥이(2%, 그 가운데 일란성 30%). 형제자매 얼굴은 서로 겹치지 않게. 도적이나 역병 앞에서 이웃 세가에 도움을 청하는 선택
  • 60천하도. "다른 세력을 넣지 않더라도 확대 축소가 되고, 완전한 지도로 시작하는 게 낫겠다." 중원과 새외 가장자리까지 그린 천하도 위에 하남이 겹쳐 있어서, 휠로 당기면 하남으로 들어간다. 이름난 자리 22곳과 멀리서 들려오는 천하 소문
  • 61웹툰 컷. 큰 순간 여덟(약한 쪽이 이긴 비무, 산적 토벌, 절정 돌파, 대회 우승, 연회 검무, 주화입마, 혼례, 임종)에만 결과 위에 컷이 크게 뜬다. 같은 컷은 3년 안에 다시 나오지 않고, 설정에서 끌 수 있다. 60년 한 판에 14.7번

웹툰 컷은 연습 삼아 "지금 초상 느낌에 맞게, 이왕이면 미형으로" 몇 장 그려 본 데서 시작했다. 다 마음에 들어서 바로 61장이 됐다. 지금은 19장이다.

저녁에는 Codex가 다시 20년을 했다 (직접 결정 86건). "가족 사건과 잔치가 이어지는 재미는 좋아졌다. 이제 그 역사를 요약하는 글의 정확도를 먼저." 일생 장이 '떠날 때 서열'을 새 가주 것으로 적는 것처럼, 기록과 글이 어긋나는 확정 버그 10개가 나왔다. Claude가 이어받아 Codex 판에서 일어나지 않은 상황을 갈래 판으로 확인했다.

비무 웹툰 컷
웹툰 컷 — 비무 (61장). 절정 고수를 꺾은 순간. 아래 한 줄에 누가 누구를 꺾었는지.
혼례 웹툰 컷
웹툰 컷 — 혼례 (61장). 성별 · 나이에 맞는 컷이 있을 때만 뜬다.
연회 초대 이벤트 창
연회 초대 (57장). 술 겨루기 · 시 짓기 · 검무 · 조용히 사람을 사귄다. 확률이 막대로 보인다.
낙양 모란 대회 이벤트 창
낙양 모란 대회 (57장). 미혼 젊은이를 보내면 모란 아래서 인연이 생길 수 있다.
천하도 전체가 보이는 메인 화면
천하도 (60장). 가장 멀리 뺀 모습. 하남은 가운데 '하남 · 다섯 세가' 표지 하나다.
반쯤 확대한 천하도
반쯤 당긴 모습 (60 · 61장). 화산 · 소림사 · 무당산 같은 이름난 자리가 보인다. 흐려 보여서 Claude가 중간 겹을 따로 그렸다.
일란성 쌍둥이 자매의 인물 상세
일란성 쌍둥이 (59장). 같은 얼굴, 같은 날 태어난 장녀와 둘째 딸.
11.12
THU
62 – 65장 · Claude 플레이

약속과 위세, 그리고 절대고수의 벽

  • 62Codex 플레이 고침. 일생의 사실(떠날 때 서열 · 출신 세가 · 살아 있는 원한)을 바로잡고, 은혜를 입은 집의 도전장은 늘 '지도 비무'로 받을 수 있게. 큰 원한은 화해가 어렵게. 자식도 형제도 없으면 고모 · 숙부가 맨 끝 후계
  • 63가주의 약속. "다음 비무 대회에는 너를 내보내마." 대회 출전 · 직접 지도 · 혼처 · 후계 자리. 지키면 마음이 오르고, 어기면 그 사람이 기억한다. 가주가 못 지키고 떠나면 새 가주가 물려받는다
  • 64무위로 영향력 ①. 집안에서 가장 센 사람이 절정 이상이면 하남이 우리를 대하는 태도가 바뀐다. 도적이 피하고(−21%), 약한 집은 도전장 대신 사절을 보낸다. 약한 집에 보호를 약조할 수 있고, 그 집의 위기를 외면하면 신의를 잃는다
  • 65무위로 영향력 ② · 절대고수 벽. 남의 다툼을 중재하고, 약한 집에 굴복을 요구한다. 웹툰에서 한 사람이 7일 동안 고수 700명을 쓰러뜨리는 장면을 보고 "이런 수준의 밸런스?" 하고 물었다. 설계서에는 처음부터 '절정부터는 벽'이라고 적었는데 숫자는 95%까지만이라, 일류가 화경을 스무 번에 한 번은 이겼다. 이제 위쪽이 절정 이상이면 한 단계 위 90%, 두 단계 위는 100%다

밤에는 Codex 사용량이 금방 바닥나서, 새 Claude 대화에게 글 모드 플레이를 맡겼다. 31년 · 가주 3대 · 직접 결정 155건에, 본판에서 안 생긴 상황을 만든 갈래 판 16개. 결론은 "새 규칙 하나하나는 돈다. 엉키는 곳은 '사이'다." 우리를 보호하는 집이 우리에게 도전장을 보내고, 위세 고수가 석 달 이웃을 도우러 가면 굴복한 집이 반기를 든다. 66장은 고치기만 하는 장으로 썼다.

마지막으로 초식 이름을 정했다. 가문 무공마다 12개다. 지금은 비무 글에만 쓰고, 나중에 턴제 비무가 들어오면 포켓몬처럼 골라 끼워 나간다. 경지가 높을수록 들고 나갈 칸도, 내력도 많다. 내력 초식은 세지만 내력을 쓰고, 내력이 바닥나면 약한 외공 초식만 남는다. 그래서 차륜전이 통하고, 내력이 끝없이 도는 화경에게는 통하지 않는다.

이길 확률 100%가 적힌 비무 결과 창
절대고수 벽 (65장). "이길 확률 100% · 절정 대 이류 · 벽: 두 단계 위 — 이변이 없다."
거절할 수 없는 굴복 요구 창
굴복 요구 — 거절할 수 없다 (65장). 두 단계 위 고수가 직접 왔다. 선택지는 '굴복한다' 하나뿐이다.
굴복을 강요당하는 집의 청
막아설 것인가 (65장). 보호를 약조한 집이 화경 고수에게 굴복을 강요당한다. 이길 확률 0%. 막아서다 지면 저버린 게 아니라 그 집의 큰 은혜로 남는다.
집안사람의 청 창
집안사람의 청 (63장). "이제 일류입니다. 언제까지 구경만 하라는 겁니까." 약속하면 지켜야 한다.
보호받는 집의 청 창
보호받는 집의 청 (64장). 보호를 약조한 집의 가주가 쓰러졌다. 외면하면 약조를 저버렸다는 말이 하남에 돈다.
보호 선과 방패 표지가 있는 하남 지도
보호 선 (64장). 옥빛 선과 방패. 왼쪽 위에 "위세: 육혁한 (절정 소성) · 하남 제일 고수".
굴복 선이 있는 하남 지도
굴복 선 (65장). 검붉은 점선과 굴레 표지. "굴복시킨 집: 개봉위가 (1 / 2곳)".
가문 무공성향화경 절초현경 오의
모란검법 (낙양육가)고름국색천향(國色天香)화개무성(花開無聲) — 꽃은 소리 없이 핀다
탁류도법 (개봉위가)강탁세청류(濁世淸流) — 흐린 물이 다하면 맑은 물이 남는다백천귀해(百川歸海)
백엽장 (남양엽가)유백엽귀일(百葉歸一)일엽지추(一葉知秋) — 상대의 수가 오기 전에 이미 안다
파진창법 (허창종리세가)강 · 쾌만진개파(萬陣皆破)부전굴병(不戰屈兵) — 싸우지 않고 굴복시킨다
세우비침 (신양은가)쾌무성세우(無聲細雨)우과천청(雨過天晴)

초식 초안 60개 가운데 집마다 맨 끝 둘. 성향은 강 · 유 · 쾌의 가위바위보(강은 쾌를, 쾌는 유를, 유는 강을 누른다)에서 그 집 초식이 어느 쪽에 많은지다.

4 · 초상은 이렇게 그린다

한 얼굴 위에 조각을 겹친다

게임 속 초상은 그림 한 장이 아니다. 얼굴 그림 위에 체형 · 옷 · 머리 · 표정 · 수염 조각을 차례로 겹친다. 조각마다 따로 있으니 사람 수천 명이 다 달라 보이고, 나이 · 신분 · 계절이 바뀌면 조각만 갈아 끼운다.

기준 남자 얼굴에 조각을 하나씩 겹치는 여섯 단계

그리는 차례는 얼굴 → 체형 → 옷 → 겨울 겉옷 → 앞머리칼 → 체형 얼굴 → 표정 → 아이 머리 → 수염이다. 4번 '체형 얼굴'은 몸에 맞춰 볼과 턱을 넓히는 조각이다. 앞머리칼 위에 그려야 넓어진 볼 자리의 머리칼이 볼 뒤로 숨는다(24장에서 바꾼 순서). 세가 빛깔은 흑백 '가림 그림'이 정한 자리만 물들인다. 흰 곳일수록 많이 물든다.

단계보이는 나이얼굴머리 · 체형
갓난아기0 – 2남녀 3가지씩강보 (조각 없음)
어린아이3 – 7남녀 5가지씩배코 · 쌍상투 · 앞머리, 체형 셋
소년 · 소녀8 – 12남녀 5가지씩아이 머리 다섯, 체형 셋
청소년13 – 15남녀 25가지씩 (48장)앞머리 · 헝클어진 머리 (얼굴마다 전용), 체형 셋
어른16 –남녀 25가지씩, 중년 · 노년 얼굴신분 · 혼인 머리, 체형(남 기본 · 근육질 · 비만 · 빈약, 여 기본 · 단련 · 통통 · 가녀림 · 풍만), 옷 · 표정 · 수염

얼굴은 어떻게 정해지나

사람마다 얼굴 부품 다섯(얼굴형 · 눈 · 눈썹 · 코 · 입)의 점수가 있다. 그 합으로 생김새 단계(−2 – +2)가 정해지고, 단계 안에서 유형 글자(a – g)를 고른다. 절반쯤은 같은 성별 부모의 글자를 닮는다. 글자는 태어날 때 정해져 평생 같아서, 청소년 얼굴과 어른 얼굴이 이어진다.

체형은 살면서 바뀐다 (49 · 50장)

차례상황보이는 체형시작값
1무거운 내상 중마름나으면 원래 몸
2문하 단련을 받은 달 수튼튼한 달 +1.5%p, 최대 30% (50장, 49장에선 +3%p · 60%)
2[무치] 성격튼튼 쪽+20%p
3[태만] 성격 / 그 밖통통25 – 40세 사이 45% / 8%
4그 밖태어날 때 체형기본 61%, 튼튼 · 통통 · 마름 13%씩

단련한다고 무조건 튼튼해지면 안 된다고 했더니, Claude가 체질이라는 방법을 냈다. 사람마다 태어날 때 '근육이 붙는 체질' 번호표를 받는다. 단련할수록 합격선이 오르고, 번호표가 그 안에 들어온 사람만 튼튼해진다. 이 번호표는 게임의 운이 아니라 그 사람에게 고정된 수다. 그래서 체형을 바꿔도 세상은 그대로다.

5 · 그림 만드는 길

뽑고, 맞춰 보고, 자르고, 물들인다

처음 얼굴들은 내가 ChatGPT 창에서 그렸고, 11월 4일부터는 그림을 Claude에게 맡겼다. Claude가 OpenAI 이미지 API로 뽑는다. 조각으로 쓰려면 새 그림의 머리 위치가 원본과 1픽셀도 어긋나면 안 된다. 그래서 "다시 그리지 말고 이 부분만 바꿔라"라는 편집으로 뽑고, 숫자로 맞춰 본 뒤 고른다. 나는 마지막에 합친 시트를 보고 확인한다.

  1. 편집으로 뽑기. 원본을 5픽셀 늘려 보내고 받은 그림을 다시 잘라 크기를 맞춘다. 청소년 얼굴은 청소년 기준 그림과, 그 유형 어른 얼굴에서 얼굴 둘레만 잘라 함께 보냈다. 어른의 머리 · 옷 · 화장이 따라오지 않게 하려는 것이다.

  2. 위치 맞춤 검사. 머리 위와 옷 자리를 원본과 대 보고 ALIGNED(그대로)와 MOVED(어긋남)로 나눈다. 11월 9일 청소년 얼굴 50장과 머리 100장은 모두 ALIGNED였다.

  3. 바탕 맞추기. 초상 바탕은 모두 같은 회색 (169, 165, 170). 가장자리에 이어진 바탕만 이 색으로 맞춘다. 3 – 8만 달라도 게임에서 몸 둘레에 테가 보였다.

  4. 조각 오리기. 원본과 크게 다른 곳만 남기고 나머지는 투명하게. 머리 조각은 이마 · 볼 둘레까지 들어가서 얼굴마다 따로 만든다.

  5. 가림 그림. 포와 옷 자리를 흑백으로 그려 세가 빛깔이 들 곳을 정한다.

  6. 합쳐 보기. 게임과 같은 차례로 겹쳐 시트를 만들고 눈으로 본다. 통과하면 작업 지시서에 넣어 Claude Code가 들여온다.

어른 얼굴과 그 얼굴로 만든 청소년 얼굴 쌍 25개
어른 | 청소년 (11/9). 칸마다 왼쪽이 어른 여자 얼굴 유형, 오른쪽이 그 얼굴로 만든 열네 살 얼굴. 화장은 따라오지 않았다.
청소년 남자 얼굴 25개마다 기본·앞머리·헝클어진 머리
얼굴마다 머리 셋. 기본(얼굴 그림 그대로) · 앞머리 · 헝클어진 머리.
청소년 얼굴에 체형·머리·세가 빛깔을 합친 시트
합쳐 보기. 얼굴 여섯 × 체형 넷 × 머리 셋, 다섯 세가 빛깔. 목 이음새가 보이지 않는지 본다.

비용

11월 4 – 11일 API로 뽑은 그림은 약 2,400장이다. 거의 모두 high 품질이고, 장당 0.075달러로 어림하면 약 180달러다(정확한 금액은 결제 화면 기준). 가장 많이 쓴 곳은 체형에 맞춘 얼굴(402장)과 새 얼굴 22개의 중년(231장)이다. 11월 10 – 11일에는 잔치 배경 셋, 천하도 두 겹, 웹툰 컷 열아홉 장을 그렸다. 배경 음악과 효과음은 ElevenLabs 구독(Starter)으로 만들었다.

6 · 숫자로 본 균형

자동 진행으로 맞춘 숫자들

사람이 플레이하기 전에, 개발용 자동 진행으로 100년 판을 수백 번 돌려 숫자를 본다. 목표가 있는 숫자는 맞추고, 목표가 없는 숫자는 내가 보고 정한다.

무엇값언제 · 뜻
손님 (한 해)0.93 → 2.13 → 2.0538 → 40 → 44장. 목표 2 – 3번. 모든 목표가 손님을 보내게 고쳐 맞췄다
이벤트 멈춤 (한 해)0.8744장. 1 아래라 확률을 그대로 뒀다
세가끼리 도전장 (한 해)0.6641장. 우리와 상관없이 다른 세가끼리 겨룬다
100년 뒤 인원83.0명46장 기준선. 윗끝은 90 (40장에서 85 → 90, AI 교류 때문)
끊긴 세가16.9% → 16.6%46 → 62장. 100년 안에 대가 끊기는 세가의 몫. 62장에서 고모 · 숙부도 맨 끝 후계가 되어 조금 줄었다
황실의 압박 · 입궁35%46장. 목표보다 높지만 "관부와의 관계를 돌보지 않은 대가"로 그대로
체형이 바뀐 어른41.9% · 36.9%49장, 우리 세가 · AI. 3분의 2가 문하 단련 → 50장에서 단련 몫을 반으로
웹툰 컷 (60년 한 판)14.7번61장. 큰 순간 여덟에만, 같은 컷은 3년에 한 번
AI가 어긴 약속60% → 20%63 → 64장. 자동 진행 AI가 약속을 지키려 하지 않아서 숫자가 엉터리였다. 약속을 먼저 지키게 하고 다시 쟀다
도적 (위세가 있을 때)−21% · −25%64장, 우리 세가 · AI. 집안 최고 고수가 절정 이상이면 도적이 피한다
사라진 이변 (100판)176번65장 벽. 전 규칙이었으면 약한 쪽이 이겼을 비무
굴복 관계 (60년 한 판)1.34 → 2.97번65장. 목표 3 – 6번에 맞추려고 AI의 굴복 요구 확률을 8% → 50%로
보호를 저버림41% → 33%64 → 65장. 목표 15%엔 못 미쳤지만 한 번 청할 때 도울 확률이 83%라 그대로 두고, 대신 66장에서 그 확률을 화면에 보이기로
화경 고수0명65장, 이벤트 끈 200판 × 100년. 만들어 둔 '천하 절대고수'를 아무도 못 본다 → 66장에서 100년에 한 번 나올까 말까(약 30%)로
7 · 플레이테스트와 다음 걸음

AI가 먼저 해 보고, 나는 고른다

11월 9일 바깥 평가의 지적 넷(저장에서 빠진 칸, 실패해도 성공으로 끝나는 점검 등)은 51장에서 고쳤다. 그 뒤로는 AI에게 글 모드로 직접 플레이를 맡겼다. 자동 봇 · 다시 굴리기 · 시간 건너뛰기 없이 사건마다 글을 읽고 고르게 하고, 버그마다 그때 출력과 선택 직전 저장을 근거로 남기게 했다. 나는 그 보고를 받아 무엇을 고칠지, 규칙이 부딪치는 곳을 어느 쪽으로 정리할지 정한다.

날짜누가 · 얼마나한 줄 결론이어진 장
11/10Codex · 3대, 직접 결정 46"가족 이야기가 만들어지는 재미는 확실하다. 그 이야기를 잘 보여 주고 다음 선택으로 이어지게."55장
11/11Codex · 20년, 직접 결정 86 (+ Claude 갈래 판)"잔치가 이어지는 재미는 좋아졌다. 이제 역사를 요약하는 글의 정확도를 먼저." 확정 버그 1062장
11/12Claude · 31년, 직접 결정 155 + 갈래 판 16"새 규칙 하나하나는 돈다. 엉키는 곳은 '사이'다." 확정 버그 13 · 규칙이 부딪치는 곳 1266장
8 · 11일 동안 배운 것

다음 주에도 지킬 것

  • 결정은 내가, 숫자는 시작값. 지시서에는 '시작값'을 적고, 보고 숫자를 보고 맞춘다. 체형 42%를 보고 반으로 줄인 것처럼.
  • 게임이 그리는 그대로 모아서 본다. 조각 하나하나는 멀쩡해도 겹치면 흠이 생긴다. 초상 시트 300장에서 고칠 그림 1,000장 넘게 나왔다.
  • 그림은 숫자로 맞춰 보고 고른다. 눈으로 비슷해 보여도 몇 픽셀 어긋나면 조각으로 못 쓴다.
  • 그림만 바꾸는 장은 세상이 그대로인지 확인한다. 기준선 diff 0, 초상은 운을 쓰지 않는다.
  • 화면은 쉬운 말, 이야기는 무협. 나이는 '세', 기간은 '개월', 이야기 글은 무협 말투 그대로.
  • 점검 통과와 재미는 다르다. 자동 점검 49개가 모두 맞아도 "세대가 바뀌어도 다른 고민이 생기는가"는 누군가 직접 해 봐야 안다.
  • AI에게 먼저 플레이시킨다. 글과 저장 기록을 끝까지 대조하는 일은 AI가 나보다 꼼꼼하다. 세 번의 플레이가 55 · 62 · 66장이 됐다. 나는 그 보고에서 고를 것만 고른다.
  • 규칙은 하나씩 돌아도 사이에서 엉킨다. 보호 · 굴복 · 도전장 · 약속은 각자 지시서대로 돌았는데, 서로를 몰라서 보호하는 집이 도전장을 보냈다. 새 규칙을 넣으면 옛 규칙과 만나는 곳을 따로 본다.
  • 숫자가 설계서의 말을 따라가게. 설계서에는 '절정부터는 벽'이라고 써 놓고 숫자는 95%에서 멈춰 있었다. 웹툰 한 장면을 보고서야 알았다.
  • 만든 것이 실제로 나오는지 센다. 천하 절대고수 단계를 만들었는데 화경은 200판 × 100년에 한 명도 없었다.