글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다

 

목차

     

     


     

     

    GameMode / GameState / Player State / Player Controller / Pawn

     


     

    비교 

     

    GAME MODE GAME STATE Player State Player Controller
    Server Only Server & all Clients Server & all Clients Server & Owning Client
     -  Default Classes
    • Pawn
    • PlayerController
    • HUD
     -  Rules
    • Player Eliminated
    • Respawning Players
     -  Match State
    • WarmUp Time
    • Match Time
     -  State of the Game

     -  Top Scoring Players

     -  Teams in the Lead

     -  Team Scores

     -  Arrray of Player States
    -  State of the Player
    • Score
    • Defeats
    • Carried Ammo
    • Team
      Slower Net Update (Player State에서는 Net Update 속도가 느리다)
    -  Access to the HUD
    • Display Messages
    • Update HUD Health
    • Update HUD Score
    • Update HUD Defeats
    • Update HUD Ammo

     

      PAWN HUD/Widget
      Server & all Clients Owning Clinet Only

     

     

    GAME MODE는 Server만 가지고 있다. Client가 GAME MODE에 접근하면 nullptr를 반환한다.

    반면에 GAME STATE은 Server와 Client 모두 가지고 있다. Server의 정보가 Replicated 되어 GAME STATE에 내려오고 이를 통해 Client에 정보가 전달된다.

     


     

     

    비교:  GameMode, GameState, GameInstance

     

       
     GameMode 게임의 규칙을 정의
    서버 측에서만 존재하며, 클라이언트 측에서는 복제되지 않는다
     GameState GameMode가 정의한 규칙에 따라 게임의 현재 상태를 추적
    게임 상태는 모든 클라이언트에 복제
     GameInstance 게임 실행 전체에 걸쳐 유지되는 정보를 저장하는 데 사용
    이는 여러 레벨이나 세션 간에 유지되어야 하는 정보를 포함할 수 있다. GameInstance는 게임이 실행되는 동안 계속 존재하며, 레벨이 변경되거나 게임이 재시작되더라도 소멸하지 않는다.

     


     

    GameMode 

     

    이는 게임의 규칙을 정의하는 클래스다. 게임 모드는 플레이어가 게임에 어떻게 참여할지, 어떤 목표를 달성해야 할지, 그리고 게임이 어떻게 종료될지를 결정한다.

    예를 들어, 데스매치, 캡쳐 더 플래그, 라운드 기반, 팀 기반 등의 다양한 게임 모드를 설정할 수 있다.

    GameMode는 서버 측에서만 존재하며, 클라이언트 측에서는 복제되지 않는다.

     

     


     

    GameState

     

    게임 상태는 GameMode가 정의한 규칙에 따라 게임의 현재 상태를 추적한다. 이는 플레이어의 점수, 남은 시간, 현재 라운드 등과 같은 정보를 포함할 수 있다.

    GameState는 모든 클라이언트에 복제되므로, 모든 플레이어가 일관된 게임 경험을 얻을 수 있다

     

     


     

    Game Instance

     

    게임 인스턴스는 게임 실행 전체에 걸쳐 유지되는 정보를 저장하는 데 사용된다. 

    이는 여러 레벨이나 세션 간에 유지되어야 하는 정보를 포함할 수 있다. 

    예를 들어, 플레이어의 캐릭터 선택, 진행 상황, 누적 점수 등을 저장할 수 있다. 

    Game Instance는 게임이 실행되는 동안 계속 존재하며, 레벨이 변경되거나 게임이 재시작되더라도 소멸하지 않는다.

     

     

    2023.12.11 - [⭐ Unreal Engine/UE 개념정리] - [UE] Subsystem 종류: UEngineSubsystem, UEditorSubsystem, UGameInstanceSubsystem, ULocalPlayerSubsystem, UWorldSubsystem

     

     

     


     

     

     

    체력(Health)을 PlayerState이 아닌 Character 클래스에 넣는 이유 

     

      Player State Character
      -  Score
    -  Defeats
    -  Slower Net Update (Player State에서는 Net Update 속도가 느리다)
    -  Damage Events
    -  Fast Replication (Replication 속도가 빠르다)