실행모드 | 정의 | 특징 |
Standalone | 네트워킹을 고려하지 않는 단일 인스턴스 | - 싱글플레이어(로컬 세션) - Replicate 미사용 - Gameplay 클래스가 하나로 실행 |
Dedicated Server | Server 전용 인스턴스 | - Local 플레이어 없음 - 렌더링 X / GPU 없이 구동 가능 - 게임 로직, 네트워크 통신만 처리 - 원격 머신이나 클라우드 배포 |
Listen Server | 한 플레이어가 동시에 Server 호스트 역할 | - Server이자 Client 역할 수행 - 호스트에게 UI, PlayerController 존재 - 호스트가 게임 종료시 Server도 종료 - P2P 스타일 게임에서 사용 |
Client | 호스트가 아닌 모든 플레이어 | - Server로부터 데이터를 받음 - 자신의 입력을 Server에 전송 - 자율적 PlayerController 보유 - 권한 있는 결정과 게임 상태 업데이트는 Server 의존 |
언리얼 엔진에서 Client로 구동할 시 Dedicated Server도 한개가 나온다. 예를 들어 플레이어 2명을 설정하고 Client로 구동하면 Dedicated Server가 구동이 되면서 3개의 창이 나온다.
종류 | 역할 | 주요 정보 |
GameState | 게임 전체의 현재 상태를 공유 (클라이언트와 동기화) | - 현재 게임 시간 - 점수판, 남은 시간 - 현재 상태(준비, 전투 중, 종료) - 팀 정보 (전체적 게임 상태를 보여주는 정보) |
GameMode | 게임 규칙, 흐름제어 (서버 전용) | - 게임 승리 조건, 규칙 - 플레이어 스폰 로직 - 매치 시작 / 종료 트리거 - 팀 구성 - GameState, PlayerController 생성 및 제어 |
PlayerState | 플레이어 개개인 상태 저장 (클라이언트와 동기화) | - 플레이어 이름, 점수, 팀 - 개인 전적 (KDA, 경험치 등) - 커스텀 캐릭터 설정 - 소셜 / 파티 정보 |
PlayerController | 입력 처리, 서버와의 통신 중계, UI 연동 | - 현재 입력 상태 - UI 상호작용 - 서버 호출 RPC - 로컬 플레이어가 조작 |
GameInstance | 게임 전체에 걸쳐 지속되는 전역 객체 | - 플레이어 로그인 상태 - 서버 목록, 매치메이킹 결과 - 저장된 옵션 / 설정 - 사용자 프로필 - 레벨 간 공유되는 데이터 |
'내일배움캠프 언리얼' 카테고리의 다른 글
언리얼 엔진 5 C++ 개발(WIL) (0) | 2025.02.18 |
---|---|
WIL (0) | 2025.02.04 |
C++ 클래스(1) (0) | 2025.01.24 |
객체 지향 프로그래밍(2) (1) | 2025.01.22 |
객체 지향 프로그래밍(1) (3) | 2025.01.21 |