득이공간
[네트웍 멀티플레이 프레임웍의 이해] 5장. PvP 게임 제작 본문
해당 게시물은 이득우 교수님의 '네트웍 멀티플레이 프레임웍의 이해' 강의를 수강하며
학습한 내용을 개인적으로 정리한 글입니다.
📌 목차 - 5장. PvP 게임 제작
5-1. 캐릭터 아이템과 스탯의 구현
5-2. PvP 게임의 완성
📌 5-1. 캐릭터 아이템과 스탯의 구현
1. 프로퍼티 리플리케이션에 조건을 설정하는 방법의 학습
2. 네트웍 대역폭을 최적화할 수 있는 다양한 방법의 학습
3. 넷시리얼라이저 기능을 사용해 구조체 네트웍 데이터를 효과적으로 패킹하는 방법의 학습
- 이번 강의에서 학습할 내용
- 프로퍼티 리플리케이션: 최적화
- 네트웍으로 전송할 데이터의 구분
- 플레이어의 세부적인 스탯 정보를 모든 클라이언트에 공유할 필요가 있는가?
- 스탯 정보는 소유자에게만 공유하고 다른 클라이언트(Simulated Proxy)는 체력 정보만 공유
- 네트웍 멀티플레이어를 위해 고려할 최적화 요소
- [일반적으로 최적화시 고려할 사항]
- 불필요한 액터의 리플리케이션 옵션을 끄기
- 액터에 맞는 최적의 업데이트 빈도(Frequency)와 우선권(Priority) 설정
- 연관성(Relevancy)을 위한 최적의 조건 설정
- 프로퍼티 리플리케이션의 조건 설정
- 필요시 휴면(Dormancy) 상태의 설정
- 데이터 크기의 양자화 (FVector_NetQuantize)
- [기타 심화 주제]
- 구조체 데이터 전송의 최적화 설계 (NetSerialize)
- 프로퍼티 리플리케이션의 푸시 모델 설정
- 필요시 빠른 배열 자료구조를 사용한 데이터 전달 (FFastArraySerializer)
- 빠른 리플리케이션 엔진의 교체 (ReplicationGraph, Iris)
- [일반적으로 최적화시 고려할 사항]
- NetSerialize 데이터 설계
- 네트웍으로 전송할 구조체 데이터를 직접 설계해 보내고 싶은 경우에 유용
- 데이터 양을 최소화 할 수 있음
- 데이터가 자주 바뀔 때 유용하게 활용
- 플래그를 설정해 불필요한 데이터 전송을 건너뛸 수 있음
- 정수 데이터로 변환해 크기를 줄일 수 있음
- 네트웍으로 전송할 구조체 데이터를 직접 설계해 보내고 싶은 경우에 유용
📌 5-2. PvP 게임의 완성
1. 네트웍 멀티플레이를 위해 제공하는 주요 액터의 활용방법의 이해
2. 네트웍 멀티플레이 게임의 매치 상태와 서버 트래블 기능의 학습
- 이번 강의에서 학습할 내용
- 프로퍼티 리플리케이션: 상태
- 게임 모드의 특징
- 오직 서버에만 존재한다.
- 게임 모드가 관리하는 정보
- 현재 게임에 참여하고 있는 플레이어의 수
- 플레이어가 게임에 입장하는 방법과 스폰, 리스폰 규칙
- 게임에 관련된 중요한 처리: 대미지 처리, 스코어에 관련된 로직 처리 등등
- 게임 스테이트의 특징
- 서버와 모든 클라이언트에 존재한다.
- 클라이언트는 게임 스테이트를 사용해 현재 게임의 상태를 파악할 수 있다.
- 팀전에서의 팀 스코어를 관리하는데 유용
- 게임 스테이트가 관리하는 정보
- 현재 월드의 시간
- 플레이어 스테이트의 배열
- 플레이어 스테이트의 특징
- 서버와 모든 클라이언트에 존재한다.
- 클라이언트는 플레이어 스테이트를 사용해 플레이어의 상태를 파악할 수 있다.
- 플레이어 개인의 스코어 및 다른 사람들과 공유할 플레이어 정보를 관리하는데 유용
- 플레이어 스테이트가 관리하는 정보
- 스코어
- 플레이어 이름
- 플레이어 Id
- PvP 게임의 완성을 위해 고려할 요소
- PvP 전투 시스템의 보완
- 죽은 후 캐릭터 랜덤 리스폰 기능의 제작
- 플레이어 스테이트의 값을 활용한 캐릭터별 메시 로딩
- 플레이어 스테이트가 제공하는 스코어 기능의 활용
- 게임 스테이트를 활용한 게임 매칭 상태의 변경
- 서버 트래블 기능을 활용한 게임 레벨의 변경
'GP > UE5' 카테고리의 다른 글
[게임플레이 어빌리티 시스템] 2장. 게임플레이 어빌리티 시스템 캐릭터 제작 기초 (0) | 2024.07.19 |
---|---|
[게임플레이 어빌리티 시스템] 1장. 언리얼 게임플레이 어빌리티 시스템 기초 (0) | 2024.07.19 |
[네트웍 멀티플레이 프레임웍의 이해] 4장. 움직임 리플리케이션 (0) | 2024.07.12 |
[네트웍 멀티플레이 프레임웍의 이해] 3장. RPC의 이해와 활용 (0) | 2024.07.12 |
[네트웍 멀티플레이 프레임웍의 이해] 2장. 액터 리플리케이션 (0) | 2024.05.17 |