본문으로 건너뛰기
Unreal Engine GAS(Gameplay Ability System) 심화LESSON 46

최종 실습 4: 2인 멀티플레이 전투 데모 검증

난이도심화
예상 시간300분
선수지식45강의 버프와 상태 이상

46강. 최종 실습 4: 2인 멀티플레이 전투 데모 검증

1. 이번 강의에서 해결할 문제​

싱글 PIE에서 작동하는 GAS 기능은 멀티플레이 완료 증거가 아닙니다. 최종 실습은 서버 권한, 소유자 예측, 다른 클라이언트 관찰, 지연·손실 보정, 사망·부활을 하나의 테스트 가능한 2인 전투 흐름으로 묶습니다.

2. 학습 목표​

3. 핵심 개념​

최종 데모의 네트워크 흐름은 입력 → 로컬 예측 Ability → 서버 활성화 검증 → TargetData 검증 → Effect/Execution → Attribute·Tag 복제 → Cue·UI 표현입니다. 어떤 화면에서 보였다는 사실보다 서버 값, Prediction Key, SpecHandle, 대상과 최종 Attribute가 일치한다는 증거가 중요합니다.

4. 구현​

최종 클래스·데이터 구조
Source/GASDemo/
├─ AbilitySystem/
│ ├─ GASAbilitySystemComponent
│ ├─ GASAttributeSet
│ ├─ GASAbilitySet (PrimaryDataAsset)
│ ├─ Abilities/
│ │ ├─ GA_BasicAttack
│ │ ├─ GA_Dash
│ │ ├─ GA_FireProjectile
│ │ └─ GA_Heal
│ ├─ Effects/
│ │ ├─ GE_InitializeAttributes
│ │ ├─ GE_Damage / GE_Heal / GE_Cooldown
│ │ ├─ GE_Buff_Attack / GE_Debuff_Slow
│ │ ├─ GE_Debuff_Stun / GE_State_Invulnerable
│ │ └─ ExecCalc_Damage
│ └─ Cues/GC_Hit, GC_Buff, GC_Slow, GC_Stun, GC_Invulnerable
├─ Characters/GASCombatCharacter, GASCombatComponent
├─ Player/GASPlayerState, GASPlayerController
├─ Projectiles/GASProjectile
└─ UI/GASCombatHUD, GASStatusPresenter
Content/GAS/
├─ AbilitySets/DA_DefaultCombatSet
├─ Effects/*
├─ Abilities/*
└─ Cues/*
단계서버소유 클라이언트다른 클라이언트
공격 입력활성화·Cost·Target 검증입력 즉시 Montage/Cue 예측아직 확정 상태만 대기
명중Trace/투사체와 Damage 확정승인 또는 거절 보정확정 Cue와 Attribute 관찰
상태 효과Stack·Duration·면역 판정자신의 상세 UI 관찰공개 Tag/Cue/Attribute 관찰
사망·부활취소·제거·새 Pawn 연결입력 잠금과 UI 재결선사망/부활 상태 관찰

PIE는 플레이어 2명, Listen Server, 별도 창으로 구성합니다. 각 창 로그에 [Server], [Client1] 같은 실행 구분, Avatar, NetRole, PredictionKey를 남깁니다. Character 이동 복제의 기반은 멀티플레이 이동 복제 강의에서 확인합니다.

5. 코드가 동작하는 이유​

클래스와 데이터 구조가 권한 판정, 상태 저장, 표현, UI를 분리하므로 각 테스트 실패를 한 계층으로 좁힐 수 있습니다. Listen Server 호스트도 플레이어와 서버 역할을 함께 수행하므로 IsLocallyControlled만으로 Authority를 추론하지 않습니다.

6. 실패 사례와 해결​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

최종 실습 4: 2인 멀티플레이 전투 데모 검증 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“최종 실습 4: 2인 멀티플레이 전투 데모 검증”에서 오류나 데이터 손실을 줄이는 선택은 무엇인가요?
  2. 문제 2“최종 실습 4: 2인 멀티플레이 전투 데모 검증”의 작업 기준으로 ‘정상 네트워크 한 번만 테스트’을 진단하거나 바로잡은 선택은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

46강. 최종 실습 4: 2인 멀티플레이 전투 데모 검증 미완료 상태