PD 1쪽 브리핑 — 전투 시스템 분석 및 포팅 전략
작성: 정현우 (code-lead) 수신: PD (출장 복귀 시 인수) 일자: 2026-05-05
한 줄 결론
GodBlade 전투 시스템은 Unity 6 으로 그대로 가져올 수 있다 (호환성 ~85%, A안 권고). 손맛 100% 보존 + 외부 의존 2건만 패치하면 99% 동작. Phase 4 (2027-04+) 진입 시 약 180h 소요.
손맛은 무엇으로 만들어지는가 — 4중 레이어
| # | 메커니즘 | 위치 | 효과 |
|---|---|---|---|
| 1 | 콤보 100 + 3초 리셋 | EodEntityComboHitComponent.cs (95 LOC) | 누적 타격감 (디아블로 4 콤보 게이지 류) |
| 2 | 카메라 흔들림 4 진입점 | Skill / Action / Projectile / 인라인 hitedShake → 모두 EodCamera.Get.ShakeCamera() 단일 수렴 | 타격 무게감 (직접 타격 / 투사체 충돌 / 스킬 발동 모두) |
| 3 | Matrix Trail (좌/우 무기 궤적) | EodMatrixTrail.cs (Xft.XWeaponTrail wrapper) | 베요네타류 무기 궤적 (sin 곡선 진동) |
| 4 | 잔상 복제 (모션 블러) | EodEntityMatrixEffectComponent.cs (188 LOC, Animator 자체 N개 복제 + 0.1초 간격 순차 활성화) | 디아블로 4 잔상 효과 |
스킬 시스템 = TimeEvent 기반 데이터 드리븐:
- CSV → 9 테이블 → SkillEventBuilder 팩토리 → 13 SkillEvent 종류 (CreateProjectile / ShakeCamera / Move / Teleport / Rotate 등)
- Skill 인스턴스 =
List<TimeEvent>(시간 기반 발화) - 메인-서브 스킬 콤보 (3초 안 누르면 서브 발동, 디아블로 4 「2단 콤보 스킬」 류)
- 35 EventBase 발행-구독 + 오브젝트 풀 (GC 최소화) — 견고한 설계
보존 우선순위
| 순위 | 항목 | 보존도 | 위험 |
|---|---|---|---|
| 1 | 카메라 흔들림 4 진입점 | 100% (단일 EodCamera 만 마이그레이션) | 낮 |
| 2 | 콤보 시스템 | 100% (95 LOC, drop-in) | 낮 |
| 3 | 13 SkillEvent + TimeEvent 패턴 | 100% (B안 재구현 시 95% → A안이 안전) | 중 |
| 4 | Matrix Trail (Xft) | 70% (Xft Unity 6 미보증, 대체 25h 작업) | 중-높 |
| 5 | 잔상 복제 | 100% (Animator 의존만, 디버그 코드 제거 후) | 낮 |
| 6 | 35 EventBase | 100% (drop-in) | 낮 |
A / B / C 권고
| 안 | 비용 | 일정 | 손맛 | PD 우선순위 | 정현우 평가 |
|---|---|---|---|---|---|
| A 그대로 | 180h (보완 포함) | 4.5주 풀 / 9주 파트 | 100% | 1 | 권고 |
| B 비슷하게 | 240h | 6주 풀 / 12주 파트 | 80~95% | 2 | 비추 (일정 +3개월 + 손맛 미세 차이) |
| C 핵심만 | 80h (단기) → 200h (장기) | 2주 → 누적 5주 | 50~70% | - | 비추 (PD 핵심 지시 위배) |
정현우 권고: A안 + 보완 (디버그 코드 제거 / 멀티 분기 표시 / god 클래스 분할 / Xft 대체)
일정
- Sp01 W2 (5/11~5/17): Importer baseline 보존만 (본 작업 0%)
- Sp02~05 PAUSE (5/18~9/14): 웹게임 우선
- Sp02 재개 (9/15+): 워밍업 1주 후 god 클래스 분할 30h 선행 가능
- Phase 4 진입 (2027-04+): A+ 본 포팅 시작
- Phase 4 출시까지 19개월 중 0.5개월 (2.6%) 소요 → 여유 충분
의사결정 슬롯 3건 (PD 결정 대기)
D-1 — A / B / C 안 선택
- 정현우 권고: A+ (A 그대로 + 보완)
- B: 일정 +3개월 + 손맛 미세 차이 위험
- C: PD 지시 위배 + 장기 비용 더 큼
D-2 — Xft 라이브러리 처리 (D-1 후)
- 정현우 권고: Unity 6 TrailRenderer + Bezier 자체 구현 (~200 LOC, 25h)
- 외부 의존 제거 → 라이브 안정성 향상
- 대안: Xft 호환 PoC 1h 후 재평가 / Asset Store 대체 ($30~$50)
D-3 — god 클래스 분할 시점 (D-1 A안 선택 시)
- 정현우 권고: 포팅 동시 분할 (Combat 2499 → 4 sub / Skill 1794 → 3 sub)
- 단일 작업 통합 → 총 비용 -10%
라이브 안정성 우려
- god 클래스 2건 (Combat 2499 / Skill 1794) — 라이브 패치 시 회귀 위험. A+ 분할 권고.
- 디버그 코드 잔존 (잔상 5초 자동 발화) — 포팅 시 즉시 제거 안 하면 라이브 폭주 가능.
- 하드코딩 (콤보 100 / 3초 리셋 / 서브 3초) — 어픽스/시즌 변동 시 SO 추출 필수 (Sp02+ 윤서아 협업).
- 멀티 잔재 (PvP / 길드전 / 점령전 분기) — 싱글 RPG 방향에 맞지 않음. dead code 표시 + Sp03+ 정리.
산출물 4건 (designs/)
combat_system_analysis_v1_2026-05-05.md— 전투 시스템 분석 (5쪽, 손맛 4중 + Skill TimeEvent + 데이터 흐름 + 호환성 평가)combat_system_porting_strategy_v1_2026-05-05.md— A/B/C 안 비교 + 권고 (3쪽)combat_system_core_assets_inventory_v1_2026-05-05.md— ~70 파일 매트릭스 + 7 Tier 포팅 순서 (3쪽)combat_system_pd_briefing_1page_2026-05-05.md— 본 1쪽
다음 세션 첫 액션 (PD 복귀 후)
- PD: D-1 A/B/C 결정 — 1쪽 브리핑 인수 시 즉시
- 정현우: D-2 Xft 처리 결정 (PD 자율 위임 가능)
- 정현우: EodCamera.cs / EodProjectile.cs / EodEntity.cs 추가 read (1.5h, Phase 4 본 포팅 사전 준비)
- 정현우: Xft Unity 6 호환 PoC 1h (D-2 결정 후)
- 정현우 → 박세린(PM) 경유 한지우 협업 발주 (잔상 Ghost Material + Camera Shake 모션 블러, Sp01 W2 종료 5/17 후)
- 정현우 → 윤서아 협업 슬롯 (B안 채택 시 필수) — 손맛 동등성 검증 기준
페르소나 자율 갱신 (강시연 / 박세린 패턴 동일):
- 본인 페르소나 §"할 일" 에 「Phase 4 진입 시 전투 시스템 포팅 (A+ 안, 180h)」 추가
- 본인 페르소나 §"v3.0 격변 후 일정 baseline" 에 「2027-04+ A+ 본 포팅 시작」 추가
- Phase 4 PD A안 결정 시 자동 트리거
메모리 신설 권고 (PD 결정 후 자율):
project_combat_porting_a_plus_2027_04.md— A+ 안 + Xft 대체 + god 분할 + 디버그 제거 + 180h