Gameplay

Game Instance

This is a persistent Object that is created on Engine launch and remains until the Engine shuts down. And it is considered a Manager Class in that it has no physical presence in the game World. It just exists to track data and run code. Note that the Game Instance is not replicated. It exists independently on the server and all clients. Anything you want to persist between Level Loads should live here. That doesn’t necessarily mean you want to actively track everything in the Game Instance. There are other Actors potentially better suited that we’ll get to shortly, but rather use it as a repository for important information you need to exist beyond the bounds of a single Level or round of Gameplay. For that reason, this is also potentially a good place to integrate your SaveGame System.

엔진 실행 시 생성되어 엔진이 종료될 때까지 유지되는 퍼시스턴트 오브젝트입니다. 그리고 게임 월드에 물리적으로 존재하지 않는다는 점에서 매니저 클래스로 간주됩니다. 단지 데이터를 추적하고 코드를 실행하기 위해 존재합니다. 게임 인스턴스는 리플리케이트되지 않습니다. 서버와 모든 클라이언트에 독립적으로 존재합니다. 레벨 로드 사이에 유지하려는 모든 것이 여기에 있어야 합니다. 그렇다고 해서 게임 인스턴스의 모든 것을 능동적으로 추적할 필요는 없습니다. 곧 살펴볼 다른 액터가 더 적합할 수 있지만, 단일 레벨 또는 게임플레이 라운드의 범위를 넘어 존재해야 하는 중요한 정보를 저장하는 저장소로 사용하는 것이 좋습니다. 그렇기 때문에 세이브 게임 시스템을 통합하기에 좋은 장소이기도 합니다.

Game Mode

Server-based Manager Actor. This one isn’t persistent but is instead created on Level Load. In fact, it’s the first Actor to instantiate and can be set on a map-by-map basis. The Game Mode is at the heart of the Gameplay Framework, managing the overall rules and structure of a play session and instantiating the remaining Framework Actors upon creation.

Game State, Player State

designed to track the State of the game and the players within it, replicating that data across the server and all clients. These are the tracking Actors I was referring to earlier when I talked about the Game Instance. Whild structurally very similar, the State Actors differ in terms of role. The Game State is your clearinghouse for data and logic relevant to all players, like team score or shared mission objectives. A PlayerState handles anything specific to its assigned player, such as health, ammo count, or inventory. One is created per human player when they join a game or load into a Level. We’ll return to all of this in detail later. But for now, we should take this opportunity to segue over to the player and what, beyond the PlayerState, they consist of.

AGameMode

Specifically designed for match-based multiplayer games, with Match State tracking, Spawn management, and a variety of other key features. This is useful starting point if you’re planning on anything related to lobbies, drop in/drop out, round-based play, or any of the other key elements of the online multiplayer experience.

서버 기반 매니저 액터입니다. 이 액터는 퍼시스턴트가 아니라 레벨 로드 시 생성됩니다. 실제로 인스턴스화되는 첫 번째 액터이며 맵별로 설정할 수 있습니다. 게임 모드는 게임플레이 프레임워크의 핵심으로, 플레이 세션의 전반적인 규칙과 구조를 관리하고 생성 시 나머지 프레임워크 액터를 인스턴스화합니다.

게임 상태, 플레이어 상태

는 게임과 게임 내 플레이어의 상태를 추적하여 서버와 모든 클라이언트에 해당 데이터를 복제하도록 설계되었습니다. 앞서 게임 인스턴스에 대해 이야기할 때 언급했던 트래킹 액터입니다. 구조적으로 매우 유사하지만 스테이트 액터는 역할 측면에서 차이가 있습니다. 게임 스테이트는 팀 점수나 공유 미션 목표와 같이 모든 플레이어와 관련된 데이터와 로직의 저장소입니다. 플레이어 스테이트는 체력, 탄약 수, 인벤토리 등 할당된 플레이어와 관련된 모든 것을 처리합니다. 플레이어 스테이트는 플레이어가 게임에 참여하거나 레벨에 로드할 때 플레이어당 하나씩 생성됩니다. 이 모든 내용은 나중에 자세히 설명하겠습니다. 하지만 지금은 이 기회에 플레이어와 플레이어 스테이트 외에 플레이어가 구성하는 요소에 대해 알아보겠습니다.

AGameMode

매치 기반 멀티플레이어 게임을 위해 특별히 설계되었으며, 매치 상태 추적, 스폰 관리 및 기타 다양한 주요 기능을 제공합니다. 로비, 드롭 인/드롭 아웃, 라운드 기반 플레이 또는 온라인 멀티플레이어 경험의 기타 핵심 요소와 관련된 모든 것을 계획하는 경우 유용한 시작점입니다.

Player

A Player Character, when instantiated by the Game Mode, is represented by two linked Actors, a physical Pawn and its Controller. This same setup can be used for AI-driven Non-Player Characters. We’ll get to that later in this presentation. So to reiterate, a Character consists of two parts, the Pawn and the Controller.

Each has inherent networking functionality within an authoritative server model. Instance does not replicate, Mode exists on the server, and the States replicate to the server and all clients, making them the ideal repository for any game or player-specific data you’re looking to cleanly share across a network.

게임 모드에서 인스턴스화된 플레이어 캐릭터는 연결된 두 개의 액터, 즉 물리적 폰과 그 컨트롤러로 표현됩니다. 이 구성은 AI 기반 비플레이어 캐릭터에도 동일하게 사용할 수 있습니다. 이에 대해서는 이 프레젠테이션의 뒷부분에서 다루겠습니다. 다시 말하자면, 캐릭터는 폰과 컨트롤러의 두 부분으로 구성됩니다.

각각은 권한 있는 서버 모델 내에서 고유한 네트워킹 기능을 가지고 있습니다. 인스턴스는 리플리케이트되지 않고 모드는 서버에 존재하며 스테이지는 서버와 모든 클라이언트에 리플리케이트되므로 네트워크를 통해 깔끔하게 공유하려는 모든 게임 또는 플레이어별 데이터를 위한 이상적인 저장소입니다.