GameState
- 게임에 규칙 관련 이벤트가 발생하고 트래킹을 통해 모든 플레이어와 공유할 필요가 있을 때 사용.
- 게임이 시작될 때 서버에서 생성 -> 클라이언트는 이를 복제.
- 서버와 클라이언트 동일한 정보를 가짐
GameMode
- 서버 전용 로직을 담는 곳, 게임 규칙 (팀 배정, 승패 조건, 플레이어 스폰 등)을 서버에서 제어하는 데 사용.
- 클라이언트는 GameMode에 직접 접근할 수 없음.
AGameMode 는 AGameModeBase 의 서브클래스로, 멀티플레이어 경기 및 기존 작동방식 지원을 위한 부가 함수가 몇 가지 들어있습니다. 새롭게 생성되는 프로젝트는 모두 AGameModeBase 를 기본 사용하지만, 그 부가 함수가 필요한 경우 AGameMode 를 상속하도록 전환할 수 있습니다.
"AGameMode를 상속하는 경우, 경기 스테이트 머신도 지원하는 AGameState 에서 게임 스테이트를 상속하기도 해야합니다."
-> GameMode의 부가적인 기능을 GameState와 관련이 깊고 잘 활용하기 위해서 간소화된 AGameStateBase보다 AGameState를 사용하는 것이 좋다고 합니다.
결론
멀티플레이에서...
GameMode -> 중요한 규칙 로직.
GameState -> 서버-클라이언트가 공통으로 알아야하는 상태.
참고
https://teamsparta.notion.site/16-d2e07e004b3a4b34a0ce889d92d86d8d
'게임 개발 공부 > Unreal Engine' 카테고리의 다른 글
Widget에서 애니메이션 적용 (0) | 2025.02.10 |
---|---|
HUD (0) | 2025.02.07 |
TObjectPtr & TSubclassOf & TSoftObjectPtr (0) | 2025.02.05 |
콜리전 프리셋 (Collision Preset) (0) | 2025.02.03 |
Pawn으로 캐릭터 이동과 회전 구현 (0) | 2025.01.31 |