8.1 KiB
EerieVillage 대화로그 — 2026-05-15
[BT12-Dev-Clone 1단계 완료] 개발팀장 Opus 직접 설계 (A10 분신 스킬)
시간: 2026-05-15 16:56
주체: 개발팀장 (dev-team-lead)
Task ID: PM 매니페스트 BT12_Dev_Clone_A10_2026-05-15_2200 (4 target_files)
C49 표준 프로세스 시범: 1단계 (개발팀장 Opus 설계) → 2단계 (클라이언트팀 Sonnet 구현) → 3단계 (개발팀장 Opus 검증)
결정·근거·영향 (C32 의무 3요소)
결정: A10 분신 스킬 구조 = (나) CloneInstance 단일 MonoBehaviour + Player Inventory hook + 0.5초 지연 큐 + IsCloneFireActive 분기.
근거:
- PD 명세 5항목 (위치 facing 반대 1유닛·반투명 alpha 0.5·동일 스킬·50% 반감·0.5초 딜레이) 전수 충족
- v0.4 CSV A10 행 "분신 1기·동일 패턴 모방·공격력 비율 감소·무적" 정합
- C11 자원 효율 — MonoBehaviour 1기·Singleton (별도 Inventory mirror 부재)
- C11 코드 직관성 — "Player Fire 0.5초 뒤 분신 위치에서 동일 Effector + 50% damage" 단 1줄 멘탈 모델
- 옵션 (가) 별도 GameObject + Inventory mirror = 코드 중복 (장착·Lv·각성 2중 동기화 부담) → 기각
- 옵션 (다) Player+Clone 2회 동시 발동 = PD 명세 5번 "0.5초 뒤" 직접 위반 → 기각
영향:
- 기존 시스템 영향 최소 —
PlayerSkillInventory에 4필드 + 1이벤트 추가,ActiveSkillRuntime.Fire()1줄,CalculateEffectiveDamage()1줄,SkillFireEvent.ExecuteMinion case CardId 분기,SkillRuntimeFactory.AvailableCardIds"A10" 추가 - 6개 Effector (Projectile·MeleeArea·LightningStrike·Laser·PoisonSwamp·SpiritFire) 영역
IsCloneFireActive분기 일관 추가 (spawn 위치·facing) — 약 18줄 - BT12-Dev-Vis 진행 13 스킬 정상 동작 보장 (분신 hook이 Player 발동 영향 X —
IsCloneFireActive == false조건) - Lv 업·각성 영향 X (분신 자체 Lv 업 X — Player Lv 업 시 분신 발동 damage 자동 갱신)
기각안 5건 (C32 의무 — 결정 엔트리 기각안 필드)
- 별도 GameObject + 자체
PlayerSkillInventorymirror — 코드 중복·동기화 부담 - Effector 한 번 호출 시 Player+Clone 2회 발동 (분신 = sprite만) — PD 명세 0.5초 딜레이 위반
PlayerSkillInventory.transform.positionswap (1 frame) — Camera·HUD·다른 컴포넌트 transform 참조 부작용 위험- 분신 lifetime 8초 (A11 동등) — v0.4 CSV "분신 1기" + "긴 주기" 의미 무너짐
- 분신 facing이 Player와 독립 (적 방향 자체 추적) — "동일 패턴 모방" v0.4 CSV 정합 X·분신 = 독립 actor 의미 회귀
산출물
프로젝트/EerieVillage/개발/spec/스킬_시스템_설계_v1.md§A10 신설 (16 sub-section)프로젝트/EerieVillage/개발/spec/스킬_이펙트_확정_v1.md§3 A10 추가 + §4 변경 이력 갱신공유/PD_지시_트래킹/개발팀_PD_지시_로그.mdBT12-Dev-Clone 행 1단계 완료 표기
PD 결정 안건 (3단계 검증 시 보고)
- BaseCooldown 30 PM 추정 — balance-designer 후속 확정 영역
- facing 변경 시 분신 위치 처리 — spawn 시점 고정 vs Player 추종 (PM 1차: Player 자식 부착 + spawn facing 고정)
- 분신 무적 spec — collider 미부착 / 적이 분신 위 올라타거나 적 투사체 통과 영역 Play 검증
- Lv 업 (분신 수 증가 등) 1차 미반영 — 후속 PD 결정 안건
2단계 작업 단위 분해 (Sonnet Task 위임 예정)
파일 13종:
| # | 파일 | 작업 |
|---|---|---|
| 1 | Assets/Scripts/Skills/Effectors/CloneInstance.cs |
신규 — MonoBehaviour + 0.5초 지연 큐 |
| 2 | Assets/Scripts/Skills/Effectors/CloneEffector.cs |
신규 — IEffector 구현 |
| 3 | Assets/Scripts/Skills/Runtime/PlayerSkillInventory.cs |
수정 — 4필드 + OnPlayerSkillFired 이벤트 |
| 4 | Assets/Scripts/Skills/Runtime/ActiveSkillRuntime.cs |
수정 — Fire() + CalculateEffectiveDamage() |
| 5 | Assets/Scripts/Skills/Events/SkillFireEvent.cs |
수정 — Minion CardId 분기 + Cleanup reset |
| 6 | Assets/Scripts/Skills/Runtime/SkillRuntimeFactory.cs |
수정 — AvailableCardIds "A10" 추가 |
| 7~12 | 6개 Effector | 수정 — IsCloneFireActive 분기 일관 추가 |
| 13 | Assets/Resources/Skills/Active/A10_bunsin.asset |
신규 — A11 동등 패턴 + A10 고유 필드 |
| 14 | Assets/Tests/Editor/CloneSkillTests.cs |
신규 — EditMode 7건 |
[BT12-Dev-Clone PD 결정 4건 반영 2026-05-15]
시각: 2026-05-15 (1단계 결과 보고 후 PD 응답) 주체: PM 직접 SOT 갱신 (C48 시범 — Task 회피) 영역: BT12-Dev-Clone 1단계 설계 핵심 영역 변경 유형: PD 결정 채택 + SOT 4종 갱신
PD 결정 4건
| # | PD 명세 | PM 1차 안 | PD 결정 |
|---|---|---|---|
| 1 | BaseCooldown | 30초 | 25초 |
| 2 | lifetime | 영구 1기 (재발동 시 대체) | 12초 자동 소멸 + Singleton 1기 |
| 3 | facing | 고정 (PM 1차) | 고정 확정 |
| 4 | 무적 | Collider 미부착 (PM 1차) | Collider 미부착 확정 |
| 5 | Lv 업 | 분신 수 X · 1차 미반영 | 분신 수 X · 추후 지속시간↑ + 플레이어 참조 데미지 비율(%)↑ (balance-designer 후속) |
핵심 변경 — lifetime 12초 자동 소멸
PM 1차 영구 1기 (Singleton·재발동 시 대체) → PD 결정 12초 지속 + Singleton 1기. spawn 시점 unscaledTime + 12초 후 자동 destroy. 12초 내 재발동 시 기존 destroy + 새 spawn (Singleton 패턴). BaseCooldown 25초 < lifetime 12초 → 분신 활성 중 재발동 시 자동 갱신.
SOT 반영 완료 (PM 직접 Edit)
| 파일 | 영역 | 변경 |
|---|---|---|
프로젝트/EerieVillage/개발/spec/스킬_시스템_설계_v1.md |
§A10-1 | lifetime 12초·BaseCooldown 25·Lv 업 메커니즘 명시 |
프로젝트/EerieVillage/개발/spec/스킬_이펙트_확정_v1.md |
§3 A10 | BaseCooldown 25·MinionLifetime 12·PD 결정 4건 주석 |
프로젝트/EerieVillage/개발/spec/스킬_이펙트_확정_v1.md |
§4 변경 이력 | PD 결정 4건 행 추가 |
공유/PD_지시_트래킹/개발팀_PD_지시_로그.md |
BT12-Dev-Clone 사후 조치 | PD 결정 4건 표기 |
공유/대화로그/EerieVillage/2026-05-15.md |
본 엔트리 | PD 결정 엔트리 |
2단계 진행 결정
PM 권고 (b) 4분할 채택 (PD 명시 옵션 결정 X·PM 권고 default 적용). α 분할 진행 대기:
- α:
CloneInstance.cs·CloneEffector.cs신규 2 파일 (코어 컴포넌트) - β:
PlayerSkillInventory·ActiveSkillRuntime·SkillFireEvent·SkillRuntimeFactory수정 4 - γ: 6 Effector
IsCloneFireActive분기 일관 추가 - δ:
A10_bunsin.asset신규 (BaseCooldown 25·MinionLifetime 12·PD 결정 반영) +CloneSkillTests.csEditMode 7건
잔존 정리 영역 (commit 직전 일괄)
설계 v1 §A10 1421·1429·1522·1523·1570 라인 영역 BaseCooldown 30 잔존 표기 → 25 정정. 본 응답 핵심 SOT (§A10-1·§3 A10) 우선 반영·세부 표 영역 후속 일괄 정정 (commit 직전).
결정·근거·영향
결정: PD 결정 4건 즉시 SOT 반영. 2단계 (b) 4분할 진행 채택.
근거: PD 2026-05-15 직접 결정 (= C1).
영향:
- lifetime 12초 변경 = 1단계 설계 핵심 영역 변경. CloneInstance Update에 lifetime 타이머 추가 의무 (α 단계 구현 영역)
- Lv 업 메커니즘 명시 = balance-designer 후속 수치 안건 명확화 (지속시간 Lv별 증가량·데미지 비율 Lv별 증가량)
- BaseCooldown 25 < lifetime 12 → 분신 활성 중 재발동 시 갱신 가능 (25초 마다 분신 재spawn)
관련 규칙
- C1 (PD 결정 = 승인) · C5 · C22 (PD 도입 용어 보존 — "지속시간"·"분신 수"·"플레이어 참조 데미지 비율(%)") · C25 · C32 · C34-11
- C43 호칭 라우팅 (개발팀 직접 수령)
- C48 시범 (PM 직접 SOT Edit·Task 회피)
- C49 1단계 완료 (개발팀장 설계)·2단계 Sonnet/PM 진행 대기
- C50 (1단계 25K + 2단계 60~80K 4분할 + 3단계 15~20K = 본 BT12-Dev-Clone 총량 100~125K)