# 플롯 모드 프로토콜 (5화별 상세 플롯) > **버전:** 2.1.0 > **최종 수정:** 2026-01-25 > **호환:** CWS Design Guide v1.3.0+ > **용도:** Design Guide Phase 4-3 - 5화별 상세 플롯 작성 (3단계 밀도) > **산출물:** `volumes/vol-XX/plots/plot-XXX-YYY.md` --- ## 📋 CHANGELOG ### v2.1.0 (2026-01-25) - 4단계 플롯 밀도 체계 적용 **변경:** - 📌 파일 구조 업데이트 (Design Guide v1.3.0 호환) - 참조: `volumes/vol-XX/volume-plot.md` (2단계: 권별 플롯) - 참조: `settings/plot-master.md` (0단계+1단계: 전체 시즌) - 산출물: `volumes/vol-XX/plots/plot-XXX-YYY.md` (3단계: 5화별 상세) - ~~volumes/vol-XX/plot-master.md~~ (삭제됨, volume-plot.md로 대체) - 📌 플롯 밀도 체계 명시 - 이 프로토콜 = 3단계 (최대밀도: Part별 장면 상세) - 2단계 (권별) 완료 후 이 프로토콜 실행 - 📌 호환 정보 변경: Design Guide v1.3.0+ ### v2.0.0 (2026-01-25) - Major Update **배경:** - 문제: 기존 플롯이 너무 간략 (날짜, 장소, 핵심 내용만) - 원인: 작성 시 즉흥적 해석 → 플롯 불일치, 설정 모순 - 결과: VERIFICATION에서 대량 발견, 예술성 부족 **추가:** - 📌 상세 설계 템플릿 (프로그래밍 설계서 수준) - 📌 캐릭터 목표 & 갈등 설계 - 📌 감정선 설계 (시작→중간→끝) - 📌 장면별 상세 (Part 단위 분량, 분위기, 대화 주제) - 📌 복선 체크리스트 - 📌 설정 일관성 체크리스트 **철학:** ``` PLOT = 상세 설계서 WRITING = 설계 구현 VERIFICATION = 구현 검증 설계가 완벽하면 구현도 완벽! → 프로그래밍처럼 접근 ``` **예상 효과:** - 플롯 불일치: 10-20건 → 2-5건 (80% 감소) - 설정 모순: 5건 → 1건 (80% 감소) - 예술성 향상: 감정선 설계로 몰입도 상승 - 90% 품질 달성 확률 대폭 증가 ### v1.0.0 (2026-01-25) - 초기 버전 **배경:** - 문제: 플롯 자체에 타임라인 역행 존재 - 예시: 8화(11월) → 9화(10월), 20화(4월) → 21화(3월) - 결과: 작성 단계에서 역행 발생 → FIX 모드 재배치 필요 - 근본 원인: **설계 단계(플롯)에 검증 프로토콜 없음** **추가:** - 📌 플롯 작성 시 타임라인 검증 프로토콜 - 이전 화 종료일 ≤ 다음 화 시작일 강제 검증 - 전체 플롯 타임라인 일관성 체크 - 회상/병렬 서사 명시 규칙 - 플롯 형식 표준 **철학:** ``` PLOT 모드 = 설계 단계 품질 보증 WRITING 모드 = 1차 방어선 (예방) VERIFICATION 모드 = 최후의 보루 (검증) → 설계가 올바르면 작성도 올바르다! ``` --- ## 🎯 플롯 모드 개요 ### 4단계 플롯 밀도 체계에서의 위치 ``` ┌─────────────────────────────────────────────────────┐ │ 0단계: 전체 시즌 (15권) 초저밀도 │ │ settings/volume-plot.md │ │ 3시즌 = 반 페이지 │ ├─────────────────────────────────────────────────────┤ │ 1단계: 시즌별 (5권) 최소밀도 │ │ settings/volume-plot.md │ │ 1시즌 = 1페이지 │ ├─────────────────────────────────────────────────────┤ │ 2단계: 권별 (50화) 중간밀도 │ │ volumes/vol-XX/volume-plot.md │ │ 50화 = 1-2페이지 │ ├─────────────────────────────────────────────────────┤ │ 3단계: 5화별 상세 ⭐ 이 프로토콜! 최대밀도 │ │ volumes/vol-XX/plots/plot-XXX-YYY.md │ │ Part별 장면 상세 (2,500자 단위) │ └─────────────────────────────────────────────────────┘ ``` **이 프로토콜은:** - Design Guide Phase 4-3 (5화별 상세 플롯) - 3단계 밀도 (최대밀도) 플롯 작성 - 2단계 (권별 플롯) 완료 후 실행 - 타임라인 일관성 필수 검증 - 회상/병렬 서사 명시 - 플롯 완성 후 전체 검증 **진입 명령:** - "1-5화 상세 플롯 작성" - "plot-001-005.md 작성해" - "X-Y화 플롯 작성해" - "5화 플롯 검증" --- ## 📝 플롯 작성 프로세스 ### Phase 1: 준비 ``` 1. 플롯 범위 확인 - 신규: X-Y화 (보통 5화 단위) - 수정: 특정 화 또는 전체 - 예: plot-001-005.md, plot-006-010.md 2. 필수 파일 읽기 - settings/volume-plot.md (0단계+1단계: 전체 시즌) - volumes/vol-XX/volume-plot.md (2단계: 권별 플롯) - volumes/vol-XX/timeline.md - volumes/vol-XX/characters.md 3. 이전 화 마지막 날짜 확인 - 이전 5화 플롯 파일에서 마지막 화 타임라인 추출 - 예: plots/plot-001-005.md에서 5화 종료일 = 1945.9.20 ``` ### Phase 2: 각 화 플롯 작성 ``` 1. 화수 및 제목 설정 예: ### 8화: 금괴 탈취 작전 2. 🚨 타임라인 설정 및 검증 (필수!) ❌ **이 절차를 건너뛰면 타임라인 역행이 발생합니다!** ✅ **반드시 아래 3단계를 순서대로 확인하세요:** --- **Step 1: 이전 화 종료 날짜 확인** ```bash # 이전 5화 플롯 파일에서 마지막 화 검색 # 예: 6-10화 작성 중이면 plots/plot-001-005.md에서 5화 확인 grep "5화" plots/plot-001-005.md # 출력 예시: # ### 5화: 금괴 탈취 작전 # - **타임라인:** 1945.9.11-9.20 → 이전 화 종료일: 1945.9.20 ``` **Step 2: 현재 화 타임라인 설정** ``` 현재 화: 8화 플롯 내용: 건준 활동, 신탁통치 준비 → 예상 기간: 1945.9.21-9.30 (10일) 시작일: 1945.9.21 종료일: 1945.9.30 ``` **Step 3: 타임라인 역행 체크 (필수!)** ``` 비교: - 이전 화 종료일: 1945.9.20 - 현재 화 시작일: 1945.9.21 판정: → 9.20 < 9.21 ✅ 정상! → 타임라인 설정: 1945.9.21-9.30 ``` **역행 감지 예시:** ``` 비교: - 이전 화 종료일: 1945.11.10 - 현재 화 시작일: 1945.10.1 판정: → 11.10 > 10.1 ❌ 역행! ⚠️ 즉시 중단! 원인 파악: 1. 회상 장면인가? → 제목에 "[회상]" 추가 2. 병렬 서사인가? → 제목에 "[병렬]" 추가 3. 플롯 순서 오류인가? → 순서 재조정 조치 후 다시 검증 ``` --- 3. 상세 설계 작성 ⭐ v2.0.0 강화! **3-1. 기본 정보 (필수)** ```markdown ### 28화: 만주 희토류 확보 - **타임라인:** 1946.03.05-15 - **장소:** 만주 연길 - **등장인물:** 최태준, 강세우, 조선족 협력자 ``` **3-2. 핵심 이벤트 (3개, 필수)** ```markdown - **주요내용:** * 희토류 광산 10만 평 매입 협상 * 국공내전 양측과 비밀 접촉 * 조선족 네트워크 구축 완료 ``` **3-3. 캐릭터 목표 & 갈등 ⭐ 신규! (v2.0.0)** ```markdown - **목표:** * 최태준: 50만 평 토지 확보 (현재 30만 평 → 목표 50만 평) * 상대방: 최대한 높은 가격으로 판매 - **갈등:** * 외부: 국민당 관리의 의심 (조선인이 왜 땅을?) * 내부: 자금 한계 (남은 예산 부족) * 시간: 국공내전 임박 (서두르지 않으면 기회 상실) - **해결:** * 조선 독립 명분 제시 (공감 유도) * 분할 지불 조건 (자금 부담 감소) * 신속 계약 (시간 압박 활용) ``` **3-4. 감정선 설계 ⭐ 신규! (v2.0.0)** ```markdown - **감정 흐름:** * 시작: 긴장 (냉랭한 협상, 상호 불신) * 중간: 반전 (공통 이익 발견, 마음 열림) * 끝: 해소 (합의, 악수) - **독자 감정:** * 초반: 불안 ("협상 깨지면 어쩌지?") * 중반: 기대 ("이렇게 풀리는구나!") * 끝: 만족 ("성공!") - **긴장도:** [6/10] → 적당한 긴장감 ``` **3-5. 복선 체크 ⭐ 신규! (v2.0.0)** ```markdown - **설치할 복선:** * 국공내전 예측 ("곧 전쟁이 터질 것") * 희토류 가치 암시 ("이 돌이 미래를 바꿀 것") - **회수할 복선:** * ch-015: 최태준 만주 출발 → 목적 달성 * ch-008: 만주 계획 언급 → 구체화 ``` **3-6. 장면별 상세 (Part 단위) ⭐ 신규! (v2.0.0)** ```markdown ## Part 1: 냉랭한 협상 (2,500자) - **시간:** 오전 9시 - **장소:** 연길 찻집 - **분위기:** 냉랭, 긴장 - **등장:** 최태준, 강세우, 국민당 관리 - **대화 주제:** 땅 가격, 조건 - **캐릭터 행동:** * 최태준: 냉정하게 협상, 압박 전술 * 국민당 관리: 의심의 눈초리, 경계 * 강세우: 통역, 분위기 중재 시도 - **종료 상태:** 결렬 직전 ## Part 2: 반전 (2,500자) - **시간:** 오후 1시 - **장소:** 같은 찻집 (재회) - **분위기:** 변화 (우연한 재회, 분위기 전환) - **대화 주제:** 조선 독립, 일본 침략 - **캐릭터 행동:** * 최태준: 진심 어린 설득, 명분 제시 * 국민당 관리: 공감, 마음 열림 - **종료 상태:** 협상 재개 ## Part 3: 합의 (2,500자) - **시간:** 저녁 7시 - **장소:** 계약서 작성 장소 - **분위기:** 진지, 긍정적 - **대화 주제:** 최종 조건, 계약 - **캐릭터 행동:** * 최태준: 신중하게 계약 검토 * 국민당 관리: 악수, 신뢰 표시 - **종료 상태:** 계약 완료, 10만 평 확보 ## Part 4: 여운 (2,500자) - **시간:** 밤 10시 - **장소:** 숙소 - **분위기:** 안도, 피로 - **내용:** 최태준 독백, 향후 계획 - **캐릭터 행동:** * 최태준: 지도 보며 다음 계획 * 강세우: 보고서 작성 - **종료 상태:** 50만 평 목표 재확인 **총 예상 분량:** 10,000자 (Part 4개 × 2,500자) ``` **3-7. 체크리스트 ⭐ 신규! (v2.0.0)** ```markdown - [ ] 이전 화(ch-027) 연결 확인 - [ ] 캐릭터 성격 일치 (최태준: 대담, 실행력) - [ ] 날씨/계절 (3월 만주 = 추위, 눈 녹기 시작) - [ ] 숫자 일관성 (기존 30만 평 + 신규 10만 평 = 40만 평) - [ ] 복선 회수 완료 - [ ] 감정선 설계 완료 ``` 4. 다음 화로 이동 ``` ### Phase 3: 5화 타임라인 검증 (필수!) ``` 5화 플롯 작성 완료 후 반드시 실행: 1. 타임라인 추출 ```bash # 현재 작성 중인 5화 플롯 파일에서 추출 # 예: plots/plot-006-010.md grep "타임라인:" plots/plot-006-010.md | grep -v "^**타임라인:" ``` 2. 순서대로 검증 ```python # 의사 코드 timelines = extract_all_timelines("plots/plot-006-010.md") for i in range(1, len(timelines)): prev_end = timelines[i-1].end_date curr_start = timelines[i].start_date if curr_start < prev_end: # 역행 감지! if is_flashback(timelines[i].title): # 회상이면 OK continue elif is_parallel(timelines[i].title): # 병렬 서사면 OK continue else: # 역행 오류! report_error(i, prev_end, curr_start) ``` 3. 검증 결과 보고 ``` ✅ 타임라인 검증 통과 - plot-006-010.md (6-10화) - 총 5화 - 역행 0건 - 회상 0건 - 병렬 0건 또는 ❌ 타임라인 역행 발견! 7화 → 8화: - 7화 종료: 1945.11.10 - 8화 시작: 1945.10.1 → 11월 다음에 10월 ❌ 조치 필요: - 8화가 회상이면 제목에 "[회상]" 추가 - 아니면 7화/8화 타임라인 재조정 ``` 4. 이전 5화 플롯과의 연결 검증 ```bash # 이전 5화 플롯의 마지막 화 종료일 확인 grep "5화" plots/plot-001-005.md -A 1 | grep "타임라인:" # → 1945.9.20 # 현재 5화 플롯의 첫 화 시작일 확인 grep "6화" plots/plot-006-010.md -A 1 | grep "타임라인:" # → 1945.9.21 # 검증: 9.20 ≤ 9.21 ✅ ``` ``` --- ## 🔄 회상/병렬 서사 처리 ### 회상 장면 **명시 규칙:** ```markdown ### 21화: [회상] 1945년 가을 - **타임라인:** 1945.10.1-10.15 - **주요내용:** * 과거 회상 * 플래시백 장면 ``` **특징:** - 타임라인이 이전 화보다 과거여도 OK - 제목에 반드시 `[회상]` 또는 `[플래시백]` 표시 - WRITING 모드에서도 회상 처리 - VERIFICATION 모드에서 역행 검증 제외 ### 병렬 서사 **명시 규칙:** ```markdown ### 24화: [병렬] 만주에서 - **타임라인:** 1946.3.20-3.22 - **주요내용:** * 만주 사건 (메인 서사와 동시 진행) * 다른 장소, 같은 시간 ``` **특징:** - 메인 서사와 시간대 겹침 OK - 제목에 반드시 `[병렬]` 표시 - 지리적으로 다른 장소에서 동시 진행 - VERIFICATION 모드에서 역행 검증 제외 --- ## ✅ 플롯 작성 체크리스트 ### 각 화 작성 시 ``` - [ ] 이전 화 종료일 확인 - [ ] 현재 화 시작일 ≥ 이전 화 종료일 - [ ] 타임라인 형식: YYYY.M.D-M.D - [ ] 회상이면 제목에 "[회상]" 명시 - [ ] 병렬이면 제목에 "[병렬]" 명시 - [ ] 장소, 등장인물 명시 - [ ] 주요내용 3개 이상 ``` ### 전체 플롯 완성 후 ``` - [ ] 전체 타임라인 추출 - [ ] 순서대로 역행 검증 - [ ] 역행 발견 시 회상/병렬 확인 - [ ] 회상/병렬 아니면 수정 - [ ] 최종 검증 통과 - [ ] Git 커밋 ``` --- ## 🚨 플롯 타임라인 검증 명령어 ### Bash 스크립트 예시 ```bash #!/bin/bash # plot-timeline-check.sh # 5화 플롯 파일 타임라인 추출 # 예: plots/plot-006-010.md grep -n "### [0-9]" plots/plot-006-010.md | while read line; do chapter=$(echo "$line" | grep -oP '\d+화') timeline=$(grep -A 5 "$line" plots/plot-006-010.md | grep "타임라인:" | grep -oP '\d{4}\.\d+\.\d+-\d+\.\d+') echo "$chapter: $timeline" done # 수동 검증: # 1. 각 화의 종료일 < 다음 화 시작일 확인 # 2. 역행 발견 시 "[회상]" 또는 "[병렬]" 확인 # 3. 이전 5화 플롯 파일의 마지막 화와 연결 확인 ``` --- ## 📊 플롯 형식 표준 ### 필수 형식 ```markdown ### X화: 제목 - **타임라인:** YYYY.M.D-M.D - **장소:** 위치 - **등장인물:** 이름1, 이름2, 이름3 - **주요내용:** * 핵심 내용 1 * 핵심 내용 2 * 핵심 내용 3 ``` ### 회상 형식 ```markdown ### X화: [회상] 제목 - **타임라인:** YYYY.M.D-M.D (과거 날짜 OK) - **장소:** 위치 - **등장인물:** 이름1, 이름2 - **주요내용:** * 회상 장면 설명 ``` ### 병렬 서사 형식 ```markdown ### X화: [병렬] 제목 - **타임라인:** YYYY.M.D-M.D (메인과 겹침 OK) - **장소:** 위치 (메인과 다름) - **등장인물:** 이름1, 이름2 - **주요내용:** * 병렬 서사 설명 ``` --- ## 🔧 플롯 수정 프로토콜 ### 타임라인 수정 필요 시 ``` 1. 문제 파악 - 어느 화에서 역행 발생? - 회상/병렬이 맞는가? 2. 영향 범위 확인 - 해당 화만 수정? - 이후 모든 화 조정? 3. 수정 방법 선택 **옵션 1: 해당 화를 회상/병렬로 변경** - 제목에 "[회상]" 또는 "[병렬]" 추가 - 빠르고 간단 - 서사적으로 타당한 경우 **옵션 2: 타임라인 재조정** - 이전 화 또는 현재 화 날짜 수정 - 이후 화들도 영향받을 수 있음 - 서사 흐름 유지 **옵션 3: 화 순서 변경** - 플롯 순서 자체를 재배치 - 가장 큰 변경 - 필요시에만 사용 4. 수정 후 전체 재검증 5. Git 커밋 "plots/plot-XXX-YYY.md: X화 타임라인 수정 문제: X화(날짜A) → Y화(날짜B) 역행 조치: [선택한 옵션] 5화 타임라인 검증: 통과 ✅" ``` --- ## 📋 Best Practices ### 1. 타임라인 간격 ``` ✅ 권장: - 화 간격: 최소 1일 이상 - 긴 기간: 명시 (예: 1946.1.1-3.31) - 짧은 기간: 시간 명시 (예: 1946.5.15 오후-저녁) ⚠️ 주의: - 같은 날짜 연속 사용 가능 (시간 구분) - 예: - 32화: 1946.5.15 오전 - 33화: 1946.5.15 오후 ``` ### 2. 회상/병렬 사용 ``` ✅ 회상 사용 케이스: - 과거 사건 설명 - 캐릭터 백스토리 - 플래시백 장면 ✅ 병렬 사용 케이스: - 다른 장소 동시 사건 - 멀티 시점 서사 - 동시다발 전개 ``` ### 3. 5화 플롯 작성 순서 (3단계 밀도) ``` 전제 조건: - 2단계 (권별 플롯) 완료: volumes/vol-XX/volume-plot.md 존재 - 50화 전체 흐름 파악 완료 권장 작성 순서: 1. 권별 플롯에서 1-5화 부분 확인 - volume-plot.md에서 1-5화 요약 확인 - 타임라인, 주요 이벤트 파악 2. 5화별 상세 플롯 작성 - plots/plot-001-005.md 작성 - 각 화별 Part 단위 장면 상세 설계 - 캐릭터 목표/갈등, 감정선 설계 - 타임라인 검증 (Phase 3) 3. 다음 5화 진행 - plots/plot-006-010.md 작성 - 이전 5화(plot-001-005.md)와 연결 확인 - 타임라인 검증 4. 10개 파일 완성 - plot-001-005.md ~ plot-046-050.md - 각 파일마다 타임라인 검증 - 파일 간 연결 확인 ``` --- ## 🔄 다른 모드와의 연계 ### PLOT → WRITING ``` PLOT 모드에서 타임라인 검증 완료 → WRITING 모드에서 타임라인 체크포인트 통과 가능 → 작성 단계 역행 0건 ``` ### PLOT → VERIFICATION ``` PLOT 타임라인 정상 → WRITING 정상 작성 → VERIFICATION 타임라인 검증 통과 → FIX 모드 재배치 불필요 ``` --- ## ⚠️ 금지사항 ``` ❌ 타임라인 없이 플롯 작성 ❌ 역행 무시하고 진행 ❌ 회상/병렬을 명시하지 않고 역행 사용 ❌ 전체 검증 없이 플롯 완료 ❌ 날짜 형식 불일치 (YYYY.M.D-M.D 필수) ``` --- ## 📊 플롯 타임라인 검증 예시 ### 정상 케이스 ```markdown ### 7화: 금괴 탈취 작전 - **타임라인:** 1945.9.11-9.20 ### 8화: 건준 활동 - **타임라인:** 1945.9.21-9.30 ✅ 9.20 < 9.21 ### 9화: 신탁통치 준비 - **타임라인:** 1945.10.1-10.15 ✅ 9.30 < 10.1 ``` ### 역행 케이스 (오류) ```markdown ### 7화: 금괴 탈취 작전 - **타임라인:** 1945.9.11-9.20 ### 8화: 건준 활동 - **타임라인:** 1945.11.1-11.10 ### 9화: 신탁통치 준비 - **타임라인:** 1945.10.1-10.15 ❌ 11.10 > 10.1 역행! ``` ### 회상 케이스 (정상) ```markdown ### 20화: 만주 진출 - **타임라인:** 1946.4.1-4.30 ### 21화: [회상] 1945년 가을 - **타임라인:** 1945.10.1-10.15 ✅ 회상으로 명시됨 ### 22화: 희토류 확보 - **타임라인:** 1946.5.1-5.10 ✅ 20화 이후 정상 ``` --- *플롯이 올바르면 작성도 올바르다. 설계 단계 품질이 모든 것의 시작!*