← 자료실/claudeLOW

GodBlade Project — Claude Context

CLAUDE.md

GodBlade Project — Claude Context

새 세션이 프로젝트 맥락을 빠르게 잡기 위한 문서. 최초 작성 2026-04-20 · 최종 갱신 2026-10-09

한 줄 요약

GodBlade (구 Eternal Guardians / EOD, 중원게임즈 2015~2016) = 10년 전 Unity 멀티 RPG 를 Unity 6 + 싱글 플레이어 + 글로벌 출시로 리부트하는 장기 프로젝트. 현재 실질 무게중심은 게임이 아니라 IP(웹소설·그림책) 에 있다 — 아래 §현재 상태 참조.


⚠️ 먼저 읽을 것 — 이 프로젝트에서 세션이 반복해서 빠지는 함정 7개

시간을 가장 많이 잡아먹은 실패들이다. 작업 전에 확인하라.

  1. git push 는 배포가 아니다. staris.cloud 는 Netlify(staris-game)가 서빙하고

GitHub Pages 는 고아 상태다. 2026-05-16 ~ 09-06 동안 push 는 됐지만 LIVE 반영이 0건이었다. 배포는 반드시 web/scripts/deploy_to_netlify.mjs 까지 돌려야 끝난다.

  1. staris.cloud 는 PD 회사 사이트와 공용이다. 루트 index.html 은 라이브에서 받아온 것을 써야 한다 —

로컬 D:\work\staris-cloud-site\index.html 은 연락처가 다르다(로컬 contact@staris.cloud vs 라이브 numjou@naver.com). 배포 스크립트가 이걸 코드로 강제한다. 우회하지 말 것.

  1. Netlify 계정이 2개다. MCP 도구는 jmjartbrows@gmail.com, PD 본계정은 numjou@gmail.com(팀 snowfamily).

배포는 항상 netlify CLI 로 한다. MCP 로 사이트를 만들면 엉뚱한 계정에 생긴다.

  1. git 커밋 author 는 GodBlade PD <numjou@gmail.com>. 구 회사 계정은 2026-09-06 부로 미사용. PD 표기는 도비아빠 (2026-10-05).

Unity6/ 히스토리 초기 커밋이 폐기된 구 회사 주소라, 기존 히스토리를 근거로 삼지 말 것. (gmail = numjou / naver = mumjou — 철자가 다르다.)

  1. 분량·카운트를 손으로 세지 말 것. 13·14·16화에서 연속으로 셀프값이 실측과 어긋났다.

python designs/webnovel/count_chapter.py volume_2/chapter_16.md 를 쓴다. 메타 헤더를 빼고 ## 본문 이후만 세는 게 핵심이다.

  1. 공수를 "풀타임 N주"로 환산하지 말 것. 기존 문서 전반이 파트타임을 20h/주 로 잡았는데

실측은 3~6h/주 (월 6.5 활동일 × 세션 2~4h) — 균일하게 5배 낙관이다. 공수는 반드시 Nh ÷ 3~6h/주 로만 환산한다. 예: 전투 포팅 180h = 9주(❌) → 7~14개월(✅). 2026-09-30 에 메인 세션도 "32 활동일 = 풀타임 1.5개월 상당"이라며 예산을 2.7배 부풀렸다. 근거: sprints/effort_conversion_standard_2026-10-02.md

  1. 배포는 공짜가 아니다. Netlify 무료 플랜 = 월 300 크레딧, 프로덕션 배포 1회 = 15.

2026-10-05 화마다 배포하다 소진 → --prod 403 (10/24 리셋까지 정지). 배포는 묶어서 주 1회. 확인만 필요하면 DRAFT=1 node web/scripts/deploy_to_netlify.mjs (미리보기, 무료, staris.cloud 미반영).


현재 상태 (2026-09-30)

실측 진행도 — 로드맵(2026-04-20) 대비 163일 경과

로드맵 단계계획실제
P1 현황파악현황지도✅ Phase1_Strike1~3.md
P2 싱글 설계싱글GDD_v1.md⚠️ 그 파일은 없음. designs/ 259건으로 분산
P3a 골격·데이터 파이프라인—✅ 완료 (asmdef 3종, Importer 5종, MVP 5체)
P3b 에셋·셰이더·씬 실제 포팅 + LTS 고정메인+전투 씬 동작❌ 미착수. 전투 씬 0. 기능 커밋 2026-04-21 이후 0
P4 싱글 로직중간 보스까지 플레이❌ 런타임 스크립트 5개, 미착수
P5 백엔드Firebase❌ 코드 0
P6 로컬라이즈5개국어❌ Localization 패키지 미설치
P3 는 "완료"가 아니다. 로드맵 성공 조건이 "메인 씬 + 전투 씬 1개 동작"인데 전투 씬이 0이고, 로드맵 항목 3(에셋 import)·4(셰이더 마이그레이션)·5(구 API 업데이트)·6(메인 씬 복구)이 전부 미착수다. 그래서 P3a / P3b 로 분할했다 (정현우 권고). 현행 C# 자산 = 24 파일 / 7,827 LOC. Phase 재판정 (정현우): 유효 2 / 수정 5 / 폐기 0 (+세부 폐기 1). 세부 폐기 = P5 항목 6 "C# 서버 _archive_2021/ 이동" → 원본 read-only 원칙 위반이라 옮기지 않는다. 로드맵 원문의 "서버 15개"는 오류 — 실제 29개. P5 Firebase 는 유효 — 웹 Supabase 와 충돌이 아니라 의도된 분리(Firestore=게임 진실 / Supabase=웹 메타·UGC·결제). 미해결: Steam 인증은 Firebase 1급 지원이 없다 → custom token 경로 필요 (김민준 영역). P7 2028-01 은 정지율 0% 가정의 낙관치 — 남은 순작업 12~23개월 × 실적 정지율 49% = 2028-04~2029-08.

반대로 실제로 쌓인 것

이건 실패가 아니라 무게중심 이동이다. 산출이 실제로 나온 트랙이 IP 쪽이고, Phase 4 게이트도 그림책 30편·웹소설 100화를 조건으로 잡았다. 로드맵만 4월에 멈춰 있다.

공백 이력 — 계획 시 반드시 전제할 것

2026-07-04 ~ 09-06 (64일) 과 09-08 ~ 09-23 (16일) 두 차례 전 트랙 정지. "자율 진행"으로 적힌 것은 PD 호출 없이 작동하지 않는다. 이건 실증된 사실이다. 그래서 로드맵 v4.0 은 Active 트랙을 2개로 줄였고, Phase 4 는 날짜가 아닌 산출물 트리거로 바뀌었다.

Unity 버전 현황 (2026-09-30 조사)

항목값
우리 프로젝트6000.4.3f1 = Unity 6.4 = 비-LTS
🔴 우리 버전 지원 상태2026-06-17 종료(EOL). 3.5개월째 무지원
비-LTS 지원 정책"다음 릴리스가 나오면 종료". 6.5 도 2026-08-31 EOL
현재 지원되는 버전6.6 / 6.3 LTS / 6.0 LTS(보안지원 2026-10-16 종료) 뿐
Unity 6.3 LTS지원 2027-12-04 까지 → 출시 목표 1개월 전 무지원
Unity 6.62026-09-01, 마지막 비-LTS
Unity 6.7 LTSQ4 2026 예정 → 2년 지원(~2028년 말)
Unity 72026-07-21 발표. 베타 2026-12, 정식 Q1 2027. Unity 6 의 "직접 연장"(단 "zero rebuilding" 은 Unity 마케팅 문구이며 우리가 검증한 사실이 아니다). CoreCLR 기본 = Mono 런타임 교체
라이선스Unity Personal 무료 유지, 기준 $200K 매출/펀딩

⚠️ 자주 틀리는 것: Unity 는 이미 domain reload 를 한다 — 그게 Play Mode 진입이 느린 원인이다. Unity 7 은 그 전체 재로드를 증분 재로드로 교체하는 것이고, 가속 일부는 6.6 에 먼저 들어온다. "Unity 7 이 domain reload 를 도입한다"는 서술은 뒤집힌 것이다.

버전 전략 — ✅ PD 결정 (2026-10-02): Unity 7 직행, 처음부터. 6.7 LTS 경유 삭제

아래는 9/30 정현우 권고 원문(6.7 LTS)이며 PD 가 채택하지 않았다 — 이력으로만 남긴다. 현행: Unity 7 베타(2026-12)에서 CoreCLR 200F 편차 PoC ~10h 허용(10/06). 6.4 위 신규 작업 금지. 스토어 = Steam 출시예정 페이지 2027-03 / Phaser 웹게임 데모 2027-10 Next Fest / EA 판정 보류 (sprints/store_timeline_reset_2026-10-06.md).

(c) 6.7 LTS 단일 직행. 이동 창 = 2027-01~02 (정식 출시 + patch 6~8회 누적 후). 그때까지 6.4 유지는 기한·트리거가 박힌 의도된 동결이다. fallback: 2026-12-31 까지 6.7 LTS 출시 미확인 → 6.3 LTS 즉시 이동. 6.3 을 최종 버전으로 쓰지 않는 이유 = 지원이 출시 1개월 전에 끝난다. Unity 7 반대 이유 = 메이저 .0 의 첫 검증자가 될 이유가 없고, CoreCLR 부동소수점 결과가 Mono 와 동일하다는 보장을 확인하지 못했다 → 200F 4.255 baseline(편차 0.12%)이 흔들릴 수 있다. 2028 중반 재평가.

근거 전문: designs/unity_version_strategy_2026-09-30.md 패키지 현황: URP 17.0.3 / Addressables 2.2.2(구버전) / Input System 1.11.2 / TextMeshPro 3.2.0-pre.10 = pre-release 부채 (Phase 6 CJK 5언어 전에 해소 필요). 패키지 갱신은 6.7 이동과 한 번에 한다 (EOL 에디터 + 최신 패키지 = 미검증 조합). 이동 시 pinnedPackages 필수 — 커밋 a9cce41 에서 Unity 가 manifest 를 자동 재생성한 사고가 있었다.


목표

항목현재목표
Unity6.4 (비-LTS)LTS 라인 정착 (전략 문서 참조)
게임 모드멀티 RPG(원본)싱글 플레이어
서버29개 Windows .NET서버리스
플랫폼모바일Steam + iOS/Android
언어한국어5개 언어 (한/영/중간/일/스)
IP—웹소설 → 그림책 → 웹툰 → 게임 트랜스미디어

개발 체제: 1인 파트타임(본업 병행). 한 세션 = 2~4시간 집중 단위. 출시 목표일은 날짜 고정을 폐기했다 — sprints/phase4_trigger_gate_2026-09-28.md 의 산출물 트리거로 판정.


새 세션 읽기 순서

  1. 이 파일
  2. graphify-out/GRAPH_REPORT.md — 코드 지식 그래프 (god node·커뮤니티 구조).

⚠️ 폴더명은 graphify-out 이다 (graphify_output 아님)

  1. sprints/roadmap_v4_0_2026-09-06.md — 현행 로드맵 (Active 2트랙 + 9 FREEZE)
  2. sprints/phase4_trigger_gate_2026-09-28.md — Phase 4 판정 게이트
  3. sprints/roadmap_v3_0_closure_2026-09-27.md — v3.0 종료(미완주, 완주율 12.5%) 사후분석
  4. GodBlade_글로벌출시_로드맵.md — 원 7단계 (4/20, 상당 부분 만료)
  5. GodBlade_서버_역할분석.md — 서버 29개의 운명

코드 구조 (최상위)

D:\SVN\Backup\GodBlade\
├── Program\               # ⚠️ read-only 2021 SVN 스냅샷. 절대 수정 금지
│   ├── Client\            #   Unity 2019.4.11f1 원본
│   └── Server\            #   .NET 서버 29개 (22개 폐기 확정)
├── Unity6\                # ⭐ 현행 Unity 6 프로젝트 (git repo, remote=godblade-unity6 PRIVATE)
├── web\                   # ⭐ Next.js — 소설/그림책/영문판/docs 퍼블리싱
│   └── scripts\           #   빌드·배포 파이프라인 (아래 §배포 참조)
├── webgame\               # Phaser 3 웹게임 (FREEZE)
├── designs\               # 기획·웹소설·영문판 원고
├── sprints\               # PM 문서 (로드맵·게이트·종료보고)
├── graphify-out\          # 코드 지식 그래프
├── Datasheets\            # ⭐ 엑셀 밸런스 데이터
└── Dump20210311.sql       # ⭐ MySQL 덤프 32MB (밸런스 원천)

Program\, Datasheets\, Dump20210311.sql = read-only. 신규 코드는 Unity6\ 하위.


배포 파이프라인

node web/scripts/build_export.mjs       # 1) Next.js static export → web/out
node web/scripts/deploy_to_staris.mjs   # 2) staris repo + git push = 백업 (LIVE 아님!)
node web/scripts/deploy_to_netlify.mjs  # 3) 회사본 수집 + 병합 + 이미지 최적화 + LIVE

LIVE 주소: staris.cloud/godblade/ · /novel/ · /engnovel/ · /picture-book/

색인 정책: 2026-09-28 부로 전면 공개(Allow: /). PD 가 /godblade/docs/ 와 /tools/ 까지 색인된다는 고지를 받고 재확인한 결정이다. 이 파일도 공개된다 — 새 내용을 쓸 때 그 점을 감안할 것.


AI 팀 운영 규약

메인 세션 = PD 의 비서 겸 오케스트레이터. PD 지시를 받아 서브에이전트를 호출하고 결과를 1쪽으로 요약 보고. 에이전트 정의는 .claude/agents/*.md, 호출은 Agent(subagent_type: "...").

12 agent 와 현재 상태 (로드맵 v4.0 기준)

상태담당역할
🟢 Activescenario-writer 강시연웹소설 집필·윤문
🟢 Activegraphics-lead 한지우그림책·톤·시드 프롬프트
🟢 가동game-designer 윤서아기획·밸런스·원고 검수
🟢 가동project-manager 박세린로드맵·게이트·스프린트
🟡 MAINTENANCEweb-lead 김민준Next.js 퍼블리싱
⚪ FREEZEcode-lead 정현우Unity 6 메인
⚪ FREEZEweb-game-lead 차도윤 / web-game-engine 임재훈 / web-game-balance 한가영웹게임
⚪ FREEZEdots-platform 류재현DOTS·플랫폼 SDK
⚪ FREEZEmarketing-asia 윤소정 / marketing-global Justin Park마케팅

FREEZE 는 폐기가 아니다. 재개 조건은 sprints/phase4_trigger_gate_2026-09-28.md §4.

모델 분배 (2026-05-16 PD 정책, 현행 유지)

model: sonnet 7개 — game-designer / graphics-lead / project-manager / scenario-writer / marketing-asia / marketing-global / web-game-balance model: inherit(Opus) 5개 — code-lead / web-game-lead / web-lead / dots-platform / web-game-engine

원칙: 단순·반복·문서·기획·마케팅 = Sonnet / 고난도 코드·아키텍처·성능·라이브 안정성 = Opus. 신규 채용 시 Sonnet default, 고난도 영역만 Opus 를 명시적으로 정당화.

협업 프로토콜

  1. Q → O → D → Dr → A (질문 → 옵션 → 결정 → 초안 → 승인). PD 에 옵션 2~3개 제시 후 선택을 받고 진행.
  2. Unity6/Assets/ 신규 파일 생성 전 PD 경로 승인 1회.** 기존 파일 수정은 태스크 범위 내 자동 OK.

designs/.md, sprints/.md 는 이 규칙에서 제외(빠른 반복 우선).

  1. Karpathy 4원칙: 가정 명시 / 최소 코드·추측 0 / 외과적 변경(범위 외 수정 0) / 성공 조건 정의 후 반복.
  2. over-step 방지 (PD 51): 즉시 결정은 잠금 OK, 미래 결정은 잠그지 말고 시점 도래 시 PD 에 옵션 재제시.
  3. 역할 경계: 기획은 수치만, 구현 방식은 code-lead. code-lead 가 밸런스 이상을 발견하면

독단 수정 금지, PD·기획에 에스컬레이션. PM 은 결정권 없음 — 보고만.

  1. Goal 선언: 비-자명한 작업은 🎯 목표: <측정 가능한 1줄> 로 시작하고 끝에 ✅ 달성 / ❌ 미달 을 수치로 보고.

산출물 위치

에이전트 정의 .claude/agents/ · 스프린트 sprints/ (박세린) · 기획 designs/ (윤서아) · 웹소설 designs/webnovel/ (강시연) · 영문판 designs/webnovel_en/ · Unity 코드 Unity6/ (정현우)


graphify

코드 규모가 크고(~5만 LOC) 10년 전 작성돼 원저자도 기억이 희미하다. 아키텍처·코드베이스 질문에 답하기 전 graphify-out/GRAPH_REPORT.md 를 먼저 읽는다. 코드 파일을 수정한 세션은 graphify update . 로 그래프를 갱신한다 (AST 전용, API 비용 0).


이벤트 로그 (요약 — 판단에 영향이 남은 것만)

장르 = 방치형 RPG + 무한던전. 서버 29개 중 22개 폐기 확정.

Unity6 기능 커밋의 마지막 날.

배포 오진 규명 — 도메인이 Netlify 로 이전돼 3개월간 LIVE 반영 0건이었음.

Models 206MB 는 원본 대조로 복구가능 판정 → Git LFS 불필요, .git 1.9MB.

Phase 4 = 날짜 폐기, 산출물 트리거제(PD 확정). 웹소설 16화 GO-with-fix → 가드 8항목 전체 PASS. 색인 전면 공개. 영문 연재판 /engnovel/ 신설.

로드맵·CLAUDE.md 재분석.


진행 원칙

  1. 원본 절대 수정 금지 — Program\, Datasheets\, Dump20210311.sql 는 2021 스냅샷.
  2. 1인 파트타임 현실 반영 — 2~4시간에 끝낼 크기로 잘라서 진행.
  3. 검증 우선 — 밸런스는 DB 덤프가 진실. 추측 금지, 실측 인용.
  4. 공백을 상수로 전제 — 64일·16일 정지가 재발할 수 있다고 보고 계획한다.

"멈춰도 죽지 않는" 설계가 기본이다.