개요
GAS(Game Ability System)
메커니즘, 비주얼 이펙트, 애니메이션, 사운드, 데이터 기반 엘리먼트 조정해야 하는 어빌리티를 가지고 있는 RPG, 액션 어드벤처 게임, MOBA 등의 게임 타입에 특화되어 디자인된 프레임워크; 플러그인 형태로 제공
언리얼 엔진에서 복잡한 능력(Ability), 속성(Attribute), 효과(Effect)를 서버 권한으로 안전하게 관리하도록 설계된 프레임워크
| 용어 | 요소 | 예 |
|---|---|---|
| ASC | Ability System Component | |
| 액터에 붙여서 능력 실행과 속성 동기화를 담당 | ||
| Ability | 캐릭터가 수행할 수 있는 개별 능력을 정의 + 애니메이션, 입력, 쿨다운, 자원 소모 등 로직을 담음 | 공격, 스킬1, 스킬2 등 |
| Attribute | Health, Mana 등 캐릭터 속성을 데이터로 묶어 관리하며, ASC를 통해 동기화 | 체력, 공격력, 마나, 스태미나 등 |
| Gameplay Effect | 속성 변동(데미지, 회복 등)과 버프·디버프 로직을 담은 오브젝트 | 대미지 적용, 지속적인 독 대미지, 버프, 디버프 (어트리뷰트 기반) |
| GameplayCue | 시각·청각 피드백(파티클, 사운드 등)을 담당, ASC가 트리거 |

여러 클래스와 시스템이 유기적으로 결합된 플러그인 형태로 제공
필요성
→ 확장성, 유연성
GAS 기본 흐름
Attribute Set ← Effect → Cue
↓ ↑
ASC → Ability ⇔ Task