ASC의 주요 역할
1. 능력(Ability) 관리
ASC는 캐릭터가 사용할 수 있는 능력을 정의하고 이를 실행하는 역할을 담당합니다.
- 능력은 일반적으로 GameplayAbility 클래스를 기반으로 정의됩니다.
- ASC는 다음을 지원합니다:
- 능력 활성화: 특정 조건에서 능력을 활성화.
- 능력 취소: 활성화된 능력을 강제로 취소.
- 능력 쿨다운: 능력이 다시 사용 가능해질 때까지의 대기 시간 관리.
2. 효과(Effect) 관리
ASC는 능력으로 인해 발생하는 **Gameplay Effect (GE)**를 관리합니다.
- Gameplay Effect는 캐릭터의 스탯(체력, 마나, 속도 등)이나 상태(스턴, 디버프 등)를 변경하는 역할을 합니다.
- ASC는 다음을 처리합니다:
- 효과 적용: 능력 실행 시 대상에게 효과 적용.
- 효과 제거: 효과 지속 시간이 끝나거나 특정 조건에서 제거.
- 스택 관리: 중첩되는 효과의 관리.
3. 속성(Attribute) 관리
ASC는 캐릭터의 속성(Attribute) 시스템을 관리합니다.
- Attribute는 캐릭터의 체력, 마나, 공격력 등과 같은 게임 데이터입니다.
- ASC는 Gameplay Attribute를 통해 속성 값을 읽고 쓰며, 속성 값의 변경을 감지하고 반응할 수 있습니다.
4. 이벤트 및 태그 기반 시스템
ASC는 태그와 이벤트 시스템을 활용하여 능력과 효과를 제어합니다.
- Gameplay Tags: 능력과 효과의 조건, 제한, 상호작용을 관리.
- 예: "Stunned" 태그를 가진 캐릭터는 이동 능력을 사용할 수 없음.
- Gameplay Event: 능력과 효과 간의 통신을 위한 이벤트 트리거.
- 예: 능력이 발동되면 다른 효과를 트리거.
5. 네트워크 동기화
ASC는 네트워크 환경에서 클라이언트와 서버 간의 동기화를 지원합니다.
- 능력과 효과는 주로 서버에서 실행되고, 클라이언트로 결과를 동기화.
- ASC는 **RPC(Remote Procedure Call)**와 **Prediction(예측 시스템)**을 통해 멀티플레이어 환경에서 능력 사용 시 딜레이를 최소화.
ASC의 주요 구성 요소
1. Gameplay Ability
- ASC에 의해 관리되는 능력의 핵심 클래스.
- 능력을 활성화하고 실행하는 로직을 정의.
2. Gameplay Effect
- 능력에 의해 발생하는 효과를 정의.
- 지속 시간, 스택, 속성 변경 등을 포함.
3. Gameplay Attribute
- 캐릭터의 속성을 정의하고 관리.
- ASC를 통해 속성 변경과 이벤트를 처리.
4. Gameplay Tags
- 능력과 효과를 제어하는 태그 기반 시스템.
'게임프로그래밍 > 실습2' 카테고리의 다른 글
[실습2] 10. GAS와 Attribute Set 추가하기 (0) | 2024.11.28 |
---|---|
[실습2] 9. 플레이어 스테이트 클래스 생성 (0) | 2024.11.28 |
[실습2] 8. 에너미 하이라이트 하기 (0) | 2024.11.28 |
[실습2] 7. 에너미 인터페이스 만들고 함수 호출하기 (0) | 2024.11.28 |
[실습2] 6. 게임모드를 만들고 플레이어 이동 구현하기 (0) | 2024.11.28 |