Files
2025-11-05 11:09:16 +09:00
..
2025-11-05 11:09:16 +09:00

DS-전투분석 저장소

던전 스토커즈(DungeonStalkers) 전투 시스템 종합 분석 저장소입니다.

프로젝트 개요

목적

본 프로젝트는 언리얼 엔진 5.5.4 기반의 던전 스토커즈 전투 시스템을 체계적으로 분석하고 문서화하여 다음 목표를 달성합니다:

  • 밸런스 분석: 10명 스토커의 전투 능력 비교 및 밸런스 검증
  • 시스템 문서화: Gameplay Ability System 기반 전투 로직 상세 분석
  • 정기 모니터링: 패치/업데이트 시 변경사항 추적 및 영향도 분석
  • 팀 공유: 기획자, 프로그래머, QA가 공통으로 참고할 수 있는 기술 문서

분석 대상

  • 10명의 스토커: Hilda, Urud, Nave, Baran, Rio, Clad, Rene, Sinobu, Lian, Cazimord
  • 전투 시스템 요소:
    • 기본 공격 타이밍 및 피해 배율
    • 스킬 시스템 (Gameplay Ability System)
    • 캔슬 메커니즘 (Activation Order Group + ANS_SkillCancel_C)
    • 애니메이션 노티파이 시스템
    • 캐릭터 스탯 및 속성

분석 방법론

1. 데이터 추출 (Unreal → JSON)

언리얼 에디터의 커스텀 익스포터를 사용하여 게임 에셋을 JSON 형식으로 변환합니다.

Unreal Engine Assets → Custom Exporter → JSON Files

익스포트 대상:

  • DataTable → DT_CharacterStat, DT_Skill, DT_CharacterAbility 등
  • AnimMontage → 모든 캐릭터 애니메이션 몽타주
  • Blueprint → GA_* (Gameplay Ability) 블루프린트
  • CurveTable → 각종 커브 데이터

익스포트 방법:

  1. 언리얼 에디터에서 Content Browser 열기
  2. 분석할 에셋 선택
  3. 우클릭 → Export to JSON (커스텀 익스포터)
  4. 출력 폴더에 JSON 파일 생성

2. LLM 기반 분석

생성된 JSON 파일을 Claude (LLM)에 입력하여 자동 분석합니다.

분석 프로세스:

JSON Files → Claude Code → Analysis Document
              ↓
         Python Scripts (보조 분석)

LLM의 역할:

  • 대용량 JSON 데이터 파싱 및 패턴 인식
  • 스토커별 데이터 비교 분석
  • 전투 로직 추론 및 시스템 메커니즘 분석
  • Markdown 형식의 기술 문서 자동 생성

장점:

  • 수작업 대비 100배 이상 빠른 분석 속도
  • 일관된 형식의 문서 생성
  • 복잡한 크로스 레퍼런스 추적 자동화

3. 검증 및 문서화

분석 결과를 검토하고 최종 문서를 생성합니다.


v2 분석 프로세스 (2025-10 업데이트)

프로세스 개요

v2 시스템은 JSON 원본에서 밸런스 리포트까지 4단계 자동화 파이프라인입니다.

[원본 JSON] → 01단계 → 02단계 → 03단계 → 04단계
            기본데이터   DPS계산   역할비교   밸런스티어

🔥 v2.1 주요 업데이트 (2025-10-28)

Game Changer 발견!

1. 콤보 캔슬 시스템 발견

  • ANS_DisableBlockingState_C 노티파이로 평타 조기 캔슬 가능
  • 클라드: 평타 시간 56% 단축 → 평타 DPS 1위 (125.5)
  • 힐다: 19% 단축, 탱커 최고 DPS (107.3)
  • 바란: 19% 단축, 중상위권 (90.4)

2. 바란 궁극기 시전시간 정정

  • DT_Skill 10초 → 실제 1.29초 (AN_SimpleSendEvent 시점)
  • 10초는 최대 홀딩 시간 (타이밍 조절 가능)
  • 스크립트 자동 감지 및 오버라이드

3. 15초 버스트 시나리오 확대

  • 기존 10초 → 15초로 확대 (궁극기 지속시간 반영)
  • 레네 궁극기 실전 필수 (흡혈 생존력)
  • 종합 티어표 3개 시나리오 통합 평가

4단계 구성

01단계: 스토커별 기본 데이터

  • 목적: JSON에서 10명 스토커 정보 추출 및 검증
  • 출력: 01_스토커별_기본데이터_v2.md
  • 도구: 분석도구/v2/ (extract → validate → generate)

02단계: DPS 시나리오 비교분석

  • 목적: 3개 시나리오 DPS 계산 (평타, 로테이션, 버스트)
  • 출력: 02_DPS_시나리오_비교분석_v2.md
  • 도구: calculate_dps_scenarios_v2.py

03단계: 역할별 차별화

  • 목적: 5개 역할군 비교 (전사, 원거리, 마법사, 암살자, 서포터)
  • 출력: 03_역할별_차별화_v2.md

04단계: 밸런스 티어 및 개선안

  • 목적: OP/S+/S/A/B 티어 평가 및 밸런스 개선안
  • 출력: 04_밸런스_티어_및_개선안_v2.md

실행 방법

전체 프로세스:

# 1단계: 기본 데이터 추출 및 검증
cd 분석도구/v2
python extract_stalker_data_v2.py
python validate_stalker_data.py
python generate_stalker_docs_v2.py

# 2단계: DPS 계산
python calculate_dps_scenarios_v2.py

# 3~4단계: 추후 구현 예정

출력 구조:

분석결과/YYYYMMDD_HHMMSS_v2/
├── 01_스토커별_기본데이터_v2.md
├── 02_DPS_시나리오_비교분석_v2.md
├── 03_역할별_차별화_v2.md
├── 04_밸런스_티어_및_개선안_v2.md
├── intermediate_data.json
├── validated_data.json
└── 검증_리포트.md

상세 문서

  • ARCHITECTURE.md - v2 프로세스 완전 상세 가이드 (알고리즘, 체크리스트 포함)

폴더 구조

DS-전투분석_저장소/
├── README.md                    # 본 문서
├── ARCHITECTURE.md              # 기술 아키텍처 (v2 프로세스 상세)
│
├── 분석결과/                    # 분석 결과물
│   ├── 20251024_000515/         # 기존 분석 (참고용)
│   └── YYYYMMDD_HHMMSS_v2/      # v2 분석 결과
│       ├── 01_스토커별_기본데이터_v2.md
│       ├── 02_DPS_시나리오_비교분석_v2.md
│       ├── 03_역할별_차별화_v2.md
│       ├── 04_밸런스_티어_및_개선안_v2.md
│       ├── intermediate_data.json
│       ├── validated_data.json
│       └── 검증_리포트.md
│
├── 원본데이터/                  # JSON 원본 데이터
│   ├── DataTable.json
│   ├── AnimMontage.json
│   ├── Blueprint.json
│   └── CurveTable.json
│
└── 분석도구/                    # Python 분석 스크립트
    ├── v2/                      # v2 자동화 도구
    │   ├── extract_stalker_data_v2.py
    │   ├── validate_stalker_data.py
    │   ├── generate_stalker_docs_v2.py
    │   ├── calculate_dps_scenarios_v2.py  # 개발 예정
    │   └── config.py
    └── utils/                   # 유틸리티 스크립트
        └── ...

정기 분석 수행 가이드

새로운 분석을 수행하려면 다음 단계를 따르세요.

Step 1: JSON 데이터 익스포트

언리얼 에디터에서 수행:

1. Content Browser에서 다음 폴더들을 선택:
   - /Game/Blueprints/DataTable/
   - /Game/_Art/_Character/PC/*/AnimMontage/
   - /Game/Blueprints/Abilities/GA_Skill_*/

2. 우클릭 → Export to JSON

3. 출력 폴더 선택: DS-전투밸런스_분석자료/[오늘날짜]/
   예: DS-전투밸런스_분석자료/20251024_153000/

4. 익스포트 완료 확인:
   ✓ DataTable.json
   ✓ AnimMontage.json
   ✓ Blueprint.json
   ✓ CurveTable.json

Step 2: LLM 분석 실행

Claude Code 사용:

  1. Claude Code CLI 실행
  2. 다음 프롬프트 입력:
"DS-전투밸런스_분석자료/[날짜]/" 폴더의 JSON 파일들을 분석하여
전투 시스템 종합 분석 문서를 작성해주세요.

분석 항목:
- 10명 스토커별 기본 공격 타이밍 및 피해 배율
- 스킬별 Activation Order Group 값
- 애니메이션 캔슬 윈도우 (ANS_SkillCancel_C)
- 캐릭터 스탯 비교

이전 분석 문서를 참고하여 동일한 형식으로 작성하고,
변경사항이 있다면 별도로 표시해주세요.
  1. 생성된 문서를 검토하고 수정

Step 3: 결과 저장

# 새 폴더 생성
mkdir -p 분석결과/[날짜]

# 분석 문서 저장
# Claude가 생성한 문서를 분석결과/[날짜]/DS-전투시스템_종합분석.md로 저장

# (선택) 원본 JSON 샘플 저장
# 주요 에셋 몇 개만 추출하여 원본데이터/[날짜]/에 저장

Step 4: 변경사항 추적

이전 분석과 비교:

# diff 도구로 변경 확인
diff 분석결과/20251023/DS-전투시스템_종합분석.md \
     분석결과/20251024/DS-전투시스템_종합분석.md

주요 확인 사항:

  • ActivationOrderGroup 변경 (밸런스 조정)
  • 기본 공격 타이밍 변경 (애니메이션 수정)
  • AddNormalAttackPer 변경 (피해 배율 조정)
  • 새로운 스킬 추가/삭제

분석 도구 사용법

1. 스킬 캔슬 윈도우 추출

python 분석도구/extract_skill_cancel_windows.py \
    원본데이터/20251023/AnimMontage.json

출력 예시:

AM_PC_Hilda_B_Skill_SwordStrike
  캔슬 구간: 1.300s ~ 1.800s (지속: 0.500s)

2. 캐릭터 스탯 분석

python 분석도구/analyze_character_stats.py \
    원본데이터/20251023/DataTable.json

출력 예시:

이름       직업       STR   DEX   INT   CON   WIS
힐다       전사        20    15    10    20    10
우르드     원거리      15    20    10    15    15

3. Activation Order Group 추출

python 분석도구/extract_activation_order_groups.py \
    원본데이터/20251023/Blueprint.json

출력 예시:

Hilda:
  Group 4: Bash, SwordStrike
  Group 0: BloodMoon_Active, SteelBlocking

최신 분석 결과

날짜: 2025-10-27 (v2.1) 분석 문서: 분석결과/20251027_200151_v2/

주요 발견 (v2.1):

  • 평타 DPS 1위: 클라드 (125.5) - 콤보 캔슬로 137% 증가!
  • 30초 로테이션 1위: 레네 (158.88) - 소환수 독립 DPS
  • 15초 버스트 1위: 카지모르드 (165.1) - Parrying + 궁극기
  • 종합 S티어: 시노부, 레네 (모든 시나리오 안정적 상위권)
  • 밸런스 개선 필요: 리안, 우르드 (재장전/충전 페널티 과다)

기술 스택

  • 게임 엔진: Unreal Engine 5.5.4
  • 에셋 익스포터: Custom Unreal Editor Plugin
  • 분석 LLM: Claude 3.5 Sonnet (Claude Code)
  • 보조 분석: Python 3.x
  • 문서 형식: Markdown

참고 자료

내부 문서

외부 참고

팀원 기여

분석 결과에 피드백이나 추가 분석 요청이 있으시면:

  1. 이슈 등록 (Git Issue)
  2. 또는 디스코드 공식 커뮤니티에 공유

마지막 업데이트: 2025-10-28 (v2.1) 담당자: AI-assisted Analysis Team

변경 이력

v2.1 (2025-10-28)

  • 콤보 캔슬 시스템 발견 (ANS_DisableBlockingState_C)
  • 바란 궁극기 시전시간 정정 (10초 → 1.29초)
  • 15초 버스트 시나리오로 확대 (10초 → 15초)
  • 종합 티어표 3개 시나리오 통합 평가
  • 밸런스 개선 제안 (리안, 우르드, 네이브)

v2.0 (2025-10-27)

  • 4단계 자동화 파이프라인 구축
  • 01~02단계 문서 생성 완료
  • 소환수 독립 DPS 계산 (레네)
  • DoT 시스템 분석 (Poison, Burn, Bleed)