UE5 MOBA

개요#
| 인원 | 기간 | 사용 기술 |
|---|---|---|
| 1인 | 2026년 7월 ~ | UE5, C++, Gameplay Ability System |
언리얼 엔진 5의 Gameplay Ability System(GAS)을 뼈대로, 스킬샷·논타겟 궁극기·레벨업·아이템 상점·라인 미니언까지 갖춘 MOBA 전투 시스템 프로토타입.
전투 시스템#
- 기본 공격, 몽타주 섹션 기반 콤보 공격, 스킬샷(직선 타겟), 논타겟 범위 궁극기까지 서로 다른 4가지 타입의 어빌리티를 GAS 위에서 구현
- 콤보는 입력 타이밍에 따라 다음 몽타주 섹션과 적용될 GameplayEffect가 달라지는 방식으로, 콤보 단계별로 다른 대미지 테이블을 매핑
- 논타겟 궁극기(블랙홀): 조준 몽타주 재생 →
AbilityTask_WaitTargetData로 배치 위치 확정 → 지속시간 동안 범위 내 적을 끌어당기는 오라 → 종료 시 광역 대미지, 총 4단계로 구성된 캐스팅 시퀀스 - 스킬샷은 전용
TargetActor가 팀 소속(GenericTeamId)을 참조해 자기 팀을 자동으로 무시하도록 처리 - 카메라는 탑다운이 아닌 숄더뷰 액션 카메라로 설계 — 조준 시 스프링암 오프셋을 별도로 보간하여 전환
스탯 & 성장 시스템#
- GAS
AttributeSet으로 체력·마나·공격력·방어력·이동속도·힘·지능을 전부 리플리케이트되는 속성으로 관리 - 힘/지능에 성장률(GrowthRate)을 별도로 두어, 레벨업 시 자동으로 스탯이 증가하는 MOBA식 캐릭터 성장 곡선 구현
ModifierMagnitudeCalculation으로 "기본 공격력 기반" / "레벨 기반" 데미지 공식을 분리해, 밸런스 조정이 필요할 때 어빌리티 코드를 건드리지 않고 계산식만 교체 가능하게 설계- 초기 스탯과 레벨별 필요 경험치를 데이터 테이블 / 커브 테이블로 분리해, 코드 재컴파일 없이 수치를 튜닝할 수 있게 함
아이템 상점 & 인벤토리#
- 골드로 아이템을 구매하는 상점 UI와, 구매 즉시 어빌리티 시스템에 효과를 적용하는 인벤토리 컴포넌트
- 구매 로직은
Server RPC + WithValidation으로 서버가 최종 검증하도록 하여, 클라이언트 조작으로 인한 부정 구매를 원천 차단
라인 미니언 & AI#
Barrack액터가 팀별로 일정 주기마다 미니언을 스폰 — 오브젝트 풀링과 다중 스폰 지점 순환으로 스폰 비용을 관리- 미니언은 Behavior Tree + AI Perception(시야 감지)으로 자율적으로 적을 인식하고, 감지된 대상을 블랙보드에 기록해 어빌리티 사용까지 이어감
GenericTeamId기반 팀 시스템으로 아군/적군을 구분하며, 이 팀 정보는 스킬샷의 타겟 필터링에도 그대로 재사용됨
UI/HUD#
- 어빌리티 쿨다운 게이지, 레벨 게이지, 캐릭터 머리 위 체력바(Overhead Gauge), 크로스헤어, 스탯 게이지 등 MOBA 전형적인 HUD 위젯을 직접 제작
현재 진행 상황#
아직 프로토타입 단계로, 다음 항목들을 다듬는 중:
- 미니언 회피 기동(Avoidance) 미구현
- 콤보 타격감 개선 필요
- 래그돌 반응 개선 필요
- 미니언이 플레이어를 과도하게 추적하는 문제
- 텍스처 스트리밍/LOD로 추정되는 텍스처 깜빡임 현상