언리얼 엔진5 Basic - 게임의 완성

타입·2024년 4월 30일
0

언리얼 강의

목록 보기
22/47

게임의 완성 (Game Complete)

게임의 승패조건 관리

  • 게임모드(GameMode)
    멀티플레이를 포함해 게임에서 유일하게 존재하는 게임의 심판 오브젝트
    최상단에서 게임의 진행을 관리하며, 게임 판정에 관련된 중요한 행동을 주관하는데 적합
    다양한 게임 규칙을 적용할 수 있도록 핵심 기능과 분리해 설계하는 것이 바람직함
    게임의 상태(GameState)와 플레이어의 상태(PlayerState)를 별도로 저장할 수 있는 프레임워크를 제공함

게임 빌드

게임을 빌드하여 실행파일로 만들기
Shipping 빌드는 디버깅 기능이 제거된 최종 배포용, Development 빌드로 충분히 테스트 진행

  • 패키징 세팅
    • 쿠킹할 추가 에셋 디렉터리
      강한 참조가 걸리지 않지만 쿠킹 시 포함되어야 할 에셋
      ArenaBattle 프로젝트의 경우 Item 폴더가 추가되어야 함
    • 패키지 된 빌드에 포함시킬 맵 목록
      사용할 맵 리스트
      ArenaBattle 프로젝트의 경우엔 Main 맵만 추가

실습코드

https://github.com/dnjfs/ArenaBattle/commit/0a0ef3dff20611ec974bad5c4637f81e17ea9993

  • GameMode 가져오기
    GetWorld()->GetAuthGameMode()
    GameMode는 서버에서만 존재하기에 클라에서는 nullptr 반환

  • PlayerController 가져오기
    GetWorld()->GetFirstPlayerController()
    서버에선 PlayerController가 여러 개라서 클라에서 사용하기 (혹은 StandAlone)

  • 게임 저장/불러오기
    UGameplayStatics::SaveGameToSlot(USaveGame*, const FString&, const int32)
    UGameplayStatics::LoadGameFromSlot(const FString&, const int32)
    \Saved\SaveGames 폴더에 sav 파일로 저장됨

profile
주니어 언리얼 프로그래머

0개의 댓글