AI/잡다한개발노트

전투방식 단순화 개발기록 정리본 (2026-02-28)

blacknabis 2026. 2. 28. 04:32
반응형

전투방식 단순화 개발기록 정리본 (2026-02-28)

1. 목적과 범위

  • 전투 규칙을 단순화한다.
    • 범위 안에 적이 있으면 공격
    • 범위 밖이면 이동
  • 대상 유닛: Enemy, Hero, Barracks Soldier
  • 현재 단계: 스테이지 기본 테스트 기준 (밸런스 조정 제외)

2. 현재 최종 규칙

  • 공격 데미지는 공격 애니메이션 종료 시점에 적용된다.
  • 공격 중에는 이동하지 않는다.
  • 공격 상태에서 다음 상태(추적/이동/유지)로 전환은 공격 애니메이션 종료 후에만 가능하다.
  • 유닛 분리(밀어내기)는 같은 팀끼리만 적용한다.
    • Enemy ↔ Enemy 적용
    • Ally(Hero/Soldier) ↔ Ally(Hero/Soldier) 적용
    • Enemy ↔ Ally 미적용

3. 변경 이력 요약

3.1 기반 리팩토링

  • BaseUnit 공통 전투 루프/헬퍼를 중심으로 구조 정리
  • 이동 stop distance, 팀 분리 보정 유틸 도입

3.2 간격/겹침 보정

  • 유닛 간격 상향(2배 포함)
  • 적대 팀 간 간격 처리 공통화(이후 동일 팀 전용으로 최종 조정)

3.3 전투 안정화

  • 제자리 공격 고정
  • 공격 불가 시 이동 전환
  • 적 타겟 획득/유지 범위 보정
  • 전투 거리 판정 2D(XY) 통일

3.4 적 공격 이슈 추적

  • EnemyTrace/EnemyAttack 로그 보강
  • 적 공격 애니메이션 상태 유지 보정

3.5 공격 타이밍 규칙 적용

  • Enemy/Hero/Soldier 모두 공격 시작 -> 애니메이션 종료 -> 데미지 확정 구조로 변경
  • 공격 대기 상태(_isAttackPending) 중 이동 차단

3.6 분리 정책 최종화

  • BaseUnit 분리 로직에서 적대 팀 push 제거
  • 같은 팀 그룹에만 분리 적용

4. 핵심 수정 파일

  • Assets/Scripts/Kingdom/Game/BaseUnit.cs
  • Assets/Scripts/Kingdom/Game/EnemyRuntime.cs
  • Assets/Scripts/Kingdom/Game/HeroController.cs
  • Assets/Scripts/Kingdom/Game/BarracksSoldierRuntime.cs
  • Assets/Scripts/Kingdom/Game/TowerManager.cs
  • Assets/Scripts/Kingdom/Game/Data/EnemyConfig.cs
  • Assets/Scripts/Kingdom/Game/Data/HeroConfig.cs
  • Assets/Scripts/Kingdom/Game/Data/TowerConfig.cs
  • Assets/Resources/Prefabs/Game/GameBattlefield.prefab

5. 검증 상태

  • dotnet build Assembly-CSharp.csproj -nologo 오류 0
  • 빌드 경고는 기존 항목(MSB3277, CS0649) 유지

6. 현재 남은 이슈

  • 일부 상황에서 공격 애니메이션 체감 타이밍이 의도보다 짧거나 어색할 수 있음
  • 다음 점검 포인트:
    • 유닛별 공격 클립 길이 vs _attackVisualHoldLeft 정합
    • 공격 종료 직후 상태 전환(Idle/Move) 체감

7. 원본 기록 안내

  • 상세 원본: 문서/진행/전투방식_단순화_개발기록_2026_02_27.md
  • 본 문서는 회의/리뷰용 요약 정리본이다.

8. 최종 점검 체크리스트

  • 공격 중 이동 금지: 공격 애니메이션 재생 중 위치가 고정되는지 확인
  • 타격 시점: 데미지 숫자/HP 감소가 공격 애니메이션 종료 시점과 일치하는지 확인
  • 상태 전환: 공격 종료 전 이동 상태로 튀지 않는지 확인
  • 분리 정책: 같은 팀끼리만 분리되고, 적/아군 간에는 밀어내기가 없는지 확인

점검 결과

  • 확인 일자: 2026-02-28
  • 상태: 사용자 실플레이 확인 완료
반응형