상세 컨텐츠

본문 제목

[언리얼] 기본 게임모드의 구조

프로그래밍/Unreal

by Bischoff 2020. 7. 23. 15:32

본문

게임 모드(GameMode)

하나의 게임 모드를 규정하는 베이스 클래스로 이 녀석을 상속받아 새로운 게임 모드의 규칙을 정의한다. 주의 해야하는 부분은 내부의 네트워크 시스템인 데디케이티드 서버나 리슨 서버를 활용할 경우 순수 클라이언트 단에는 게임모드가 존재하지 않기 때문에 구조를 잘 설계해야 한다.

 

게임 스테이트(GameState)

게임 모드에 대응하는 데이터나 게임 상태를 저장한다. 다행히도 이 녀석은 순수 클라이언트도 서버측의 복사본을 갖고 있기 때문에 현재 게임의 상태나 일부 변수들을 이 녀석을 통해 알아올 수 있다.
네트워크 시스템의 리플리케이션, RPC도 함께 알아둬야한다.

 

플레이어 컨트롤러(PlayerController)

게임에서 유저의 입력과 UI시스템의 전반적인 처리를 담당한다. 즉 캐릭터의 베이스가 되는 폰(Pawn)을 유저가 컨트롤 할 수 있는 통로이다. 이 또한 게임모드와 마찬가지로 컨트롤 주체에게만 존재하며, 멀티플레이 게임시 타 유저의 플레이어 컨트롤러는 가져올 수 없다. 물론 서버측은 모두 들고 있다.

 

플레이어 스테이트(PlayerState)

유저의 상태나 점수 등을 저장하기 위한 클래스. 게임모드-게임스테이트 관계와 같이 활용한다. 다만 우리 게임에서는 플레이어 스테이트를 사용하지 않네... 왜 그럴까...?

 

관련글 더보기