Gameplay Framework
권한과 복제 범위로 보는 세 클래스
GameMode는 규칙을 결정하고, GameState와 PlayerState는 클라이언트가 읽어야 할 상태를 복제합니다.
Server Only
GameMode
게임 규칙, 기본 클래스, 스폰 흐름처럼 서버가 최종 결정해야 하는 로직을 둡니다.
Replicated
GameState와 PlayerState
라운드 시간, 전체 점수, 개인 점수처럼 모든 클라이언트가 봐야 할 값을 담습니다.
역할 비교표
기준
GameMode
GameState
PlayerState
존재 위치
서버에만 존재
서버와 모든 클라이언트
서버와 모든 클라이언트
책임
규칙, 흐름, 기본 클래스 지정
경기 전체 시간, 라운드, 팀 점수
개별 플레이어 점수, 이름, 팀
수명
레벨 규칙과 함께 유지
게임 세션 상태와 함께 유지
폰이 바뀌어도 플레이어 단위로 유지
UI 접근
클라이언트 UI가 직접 의존하지 않음
스코어보드의 전체 상태로 읽음
각 플레이어 행의 상태로 읽음
규칙
서버만 알아도 되면 GameMode
승리 조건, 스폰 정책처럼 외부에 표시할 필요 없는 판단을 둡니다.
공유
모두가 보면 GameState
남은 시간, 라운드, 팀 점수처럼 전체 화면에 필요한 값을 둡니다.
개인
플레이어별이면 PlayerState
사망 후에도 유지되어야 하는 개인 점수와 이름을 둡니다.