218 lines
7.3 KiB
Markdown
218 lines
7.3 KiB
Markdown
# {프로젝트명} — 프로젝트 시작 체크리스트
|
|
|
|
> **버전**: v1
|
|
> **작성일**: {날짜}
|
|
> **담당**: 개발팀장 + 기획팀장
|
|
> **용도**: 신규 프로젝트 착수 시 Phase 0~5를 순서대로 진행한다.
|
|
|
|
---
|
|
|
|
## Phase 개요
|
|
|
|
| Phase | 이름 | 완료 기준 |
|
|
|-------|------|----------|
|
|
| **Phase 0** | 프로젝트 생성 | 디렉토리 구조 + Git 초기화 완료 |
|
|
| **Phase 1** | 핵심 기획 | `02_핵심_재미_정의.md` PD님 승인 |
|
|
| **Phase 2** | 개발 환경 구축 | Framework 셋업 검증 6항 전체 통과 |
|
|
| **Phase 3** | 데이터 기반 구성 | 데이터 1건 end-to-end 로드 성공 |
|
|
| **Phase 4** | 프로토타입 | PD님 재미 확인 |
|
|
| **Phase 5** | 본 개발 준비 | 전체 기반 완비 + PD님 최종 리뷰 |
|
|
|
|
> **C7 게이트**: `Phase 1`의 `02_핵심_재미_정의.md` PD님 승인 완료 전 `Phase 2~5` 착수 금지.
|
|
> 재미 정의 없는 개발 환경 구축은 방향 없는 투자다.
|
|
|
|
---
|
|
|
|
## Phase 0: 프로젝트 생성
|
|
|
|
**완료 기준**: 디렉토리 구조 + Git 초기화 완료
|
|
|
|
### 0.1 템플릿 복사 및 치환
|
|
|
|
- [ ] `프로젝트/_템플릿/` 을 `프로젝트/{프로젝트명}/` 으로 복사
|
|
- [ ] 모든 문서의 placeholder 치환:
|
|
- `{프로젝트명}` → 실제 프로젝트명
|
|
- `{ProjectNamespace}` → Unity 네임스페이스 (예: `MagicShop`)
|
|
- `{장르}` → 게임 장르 (예: `로그라이크 덱빌딩`)
|
|
- `{날짜}` → 작성일 (YYYY-MM-DD 형식)
|
|
- [ ] 불필요한 섹션 삭제 (C14 토큰 최소화)
|
|
|
|
### 0.2 Git 레포 생성
|
|
|
|
- [ ] Gitea에 신규 레포 생성 (`NerdNavis/{프로젝트명}`)
|
|
- [ ] 로컬 초기화: `git init && git remote add origin {레포 URL}`
|
|
- [ ] `.gitignore` Unity 표준 템플릿 적용 (`관리/Unity_셋업_가이드.md 섹션 4`)
|
|
- [ ] `.gitattributes` LFS 설정 적용 (`관리/Unity_셋업_가이드.md 섹션 4`)
|
|
- [ ] 초기 커밋 + push (브랜치: `main`)
|
|
|
|
### 0.3 PD 지시 로그 초기화
|
|
|
|
- [ ] `공유/PD_지시_트래킹/{프로젝트명}_PD_지시_로그.md` 생성 (P19)
|
|
- [ ] `공유/대화로그/{프로젝트명}/` 디렉토리 생성 (P24)
|
|
|
|
---
|
|
|
|
## Phase 1: 핵심 기획
|
|
|
|
**완료 기준**: `02_핵심_재미_정의.md` PD님 승인
|
|
|
|
> ⚠️ **C7 게이트**: 02번 PD님 승인 전 Phase 2 착수 금지.
|
|
|
|
### 1.1 게임 컨셉 수립
|
|
|
|
- [ ] `기획/01_게임_컨셉.md` 작성 (기획팀장)
|
|
- 한 줄 컨셉 (Elevator Pitch)
|
|
- 레퍼런스 타이틀 3개 이상
|
|
- 타겟 유저 정의
|
|
- [ ] PD님 검토 후 방향 확정
|
|
|
|
### 1.2 핵심 재미 정의 (C7 게이트)
|
|
|
|
- [ ] `기획/02_핵심_재미_정의.md` 작성 (기획팀장)
|
|
- "어떤 재미를 제공하는가" 명문화 (C7: 재미 정의 없는 진행 금지)
|
|
- 핵심 게임 루프 다이어그램
|
|
- 재미 검증 방법 (프로토타입 평가 기준)
|
|
- [ ] **PD님 승인 획득** ← Phase 2 착수 조건
|
|
|
|
### 1.3 시스템·UX 초안
|
|
|
|
- [ ] `기획/03_시스템_카탈로그.md` 작성 (기획팀장) — 시스템 목록·우선순위
|
|
- [ ] `기획/06_UX_화면맵.md` 작성 (기획팀장) — 화면 구성 초안
|
|
|
|
---
|
|
|
|
## Phase 2: 개발 환경 구축
|
|
|
|
**완료 기준**: `관리/Unity_셋업_가이드.md` 셋업 검증 6항 전체 통과
|
|
|
|
> Phase 1 완료(PD님 승인) 후 착수.
|
|
|
|
### 2.1 Unity 프로젝트 생성
|
|
|
|
- [ ] Unity 6000.0.x 이상으로 신규 프로젝트 생성
|
|
- [ ] 렌더 파이프라인 확정 (URP / Built-in)
|
|
- [ ] 프로젝트 경로: `D:\NerdNavis\{프로젝트명}\`
|
|
- [ ] `관리/Unity_셋업_가이드.md` 섹션 1 전체 수행
|
|
|
|
### 2.2 NerdNavis.Framework 연동
|
|
|
|
- [ ] `Packages/manifest.json` 에 Framework 항목 추가
|
|
- [ ] `관리/Unity_셋업_가이드.md` 섹션 2 (C+H1) 수행
|
|
- [ ] Package Manager에서 Import 확인
|
|
|
|
### 2.3 기술 문서 작성
|
|
|
|
- [ ] `개발/01_아키텍처_설계.md` — placeholder 치환 + 확정 항목 채우기
|
|
- [ ] `개발/02_기술스택_결정.md` — 보안 체크리스트 3항 설계 결정 기입
|
|
- [ ] `개발/03_코딩_컨벤션.md` — 팀 합의 후 확정
|
|
|
|
### 2.4 기본 코드 구조 생성
|
|
|
|
- [ ] Bootstrap 씬 생성 (`00_Bootstrap.unity`)
|
|
- [ ] asmdef 4개 생성 (`{ProjectNamespace}.Core/.UI/.Data/.Editor`)
|
|
- [ ] `GameManager` (MonoSingleton<T>) 기본 구현
|
|
- [ ] `ServiceLocator` Bootstrap 등록 코드 작성
|
|
|
|
### 2.5 셋업 검증 (6항 전체 통과 필수)
|
|
|
|
- [ ] Framework 패키지 참조 확인 (Package Manager 창)
|
|
- [ ] 컴파일 에러 없음
|
|
- [ ] Bootstrap 씬 Play → 콘솔 에러 없음
|
|
- [ ] MonoSingleton 인스턴스 생성 테스트 통과
|
|
- [ ] ServiceLocator Register/Resolve 테스트 통과
|
|
- [ ] Log.Info/Log.Warn 출력 테스트 통과
|
|
|
|
---
|
|
|
|
## Phase 3: 데이터 기반 구성
|
|
|
|
**완료 기준**: 데이터 1건 end-to-end 로드 성공 (Excel → JSON → Unity 런타임)
|
|
|
|
> Phase 2 완료 후 착수.
|
|
|
|
### 3.1 컨텐츠 테이블 목록 확정
|
|
|
|
- [ ] `기획/04_컨텐츠.md` — 필요한 데이터 테이블 목록 초안 (기획팀장)
|
|
- [ ] 개발팀장과 테이블 구조 합의
|
|
|
|
### 3.2 데이터 파이프라인 구성
|
|
|
|
- [ ] `개발/04_데이터_파이프라인.md` — SOT 포맷·경로·파싱 방식 확정
|
|
- [ ] Excel 파일 생성 (SOT)
|
|
- [ ] Export Tool 구현 또는 선택
|
|
- [ ] JSON Export 경로 확정 (`Assets/ResWork/Table/Export/`)
|
|
|
|
### 3.3 DataTable 클래스 구현
|
|
|
|
- [ ] 첫 번째 테이블 `{TableName}TableData` + `{TableName}Table` 구현
|
|
- [ ] `_orNull` 패턴 적용 확인 (Direct 인덱서 금지)
|
|
|
|
### 3.4 E2E 검증
|
|
|
|
- [ ] Excel 편집 → Export → Unity Play → DataTable.IsLoaded = true 확인
|
|
- [ ] 테이블 데이터 1건 조회 성공
|
|
- [ ] 데이터 무결성 검증 통과 (`DataValidator.ValidateAll()`)
|
|
|
|
---
|
|
|
|
## Phase 4: 프로토타입
|
|
|
|
**완료 기준**: PD님 재미 확인
|
|
|
|
> Phase 3 완료 후 착수.
|
|
|
|
### 4.1 핵심 게임 루프 구현
|
|
|
|
- [ ] `02_핵심_재미_정의.md` 기반 핵심 인터랙션 1사이클 구현
|
|
- [ ] 데이터 테이블 연동 (하드코딩 수치 사용 금지)
|
|
- [ ] 기본 UI 연결 (UX 화면맵 초안 기반)
|
|
|
|
### 4.2 재미 검증
|
|
|
|
- [ ] 내부 플레이 테스트
|
|
- [ ] `02_핵심_재미_정의.md`의 검증 기준 항목 대조 평가
|
|
- [ ] **PD님 리뷰 + 재미 확인** ← Phase 5 착수 조건
|
|
|
|
### 4.3 밸런스 앵커 설정
|
|
|
|
- [ ] `기획/05_밸런스.md` — 핵심 수치 앵커 정의 (기획팀장)
|
|
- [ ] 개발팀과 밸런스 데이터 테이블 연동 확인
|
|
|
|
---
|
|
|
|
## Phase 5: 본 개발 준비
|
|
|
|
**완료 기준**: 전체 기반 완비 + PD님 최종 리뷰
|
|
|
|
> Phase 4 완료(PD님 재미 확인) 후 착수.
|
|
|
|
### 5.1 나머지 기획 문서 완성
|
|
|
|
- [ ] `기획/07_수익화.md` — 수익 모델 (PD님 확인 필요)
|
|
- [ ] `기획/08_라이브.md` — 서비스·운영 계획 초안
|
|
|
|
### 5.2 개발 기반 문서 완성
|
|
|
|
- [ ] `개발/05_빌드_배포.md` — 배포 파이프라인 확정
|
|
- [ ] `개발/06_QA_테스트_전략.md` — QA 게이트 기준 확정
|
|
|
|
### 5.3 보안 항목 완료
|
|
|
|
- [ ] `개발/02_기술스택_결정.md` 보안 체크리스트 3항 모두 설계 완료
|
|
- [ ] IAP 서버 검증 구조 구현 또는 계획 확정
|
|
- [ ] AES 키 서버 관리 방식 확정
|
|
|
|
### 5.4 PD님 최종 리뷰
|
|
|
|
- [ ] 전체 기획 문서 요약 보고
|
|
- [ ] 기술 스택·보안 결정 사항 보고
|
|
- [ ] **PD님 최종 승인** → 본 개발 착수
|
|
|
|
---
|
|
|
|
## 변경 이력
|
|
|
|
| 버전 | 일자 | 작성자 | 내용 |
|
|
|------|------|--------|------|
|
|
| v1 | {날짜} | 개발팀장 | 템플릿 초안. Phase 0~5 체크리스트 + C7 게이트 반영 |
|