https://github.com/Jak-Jang/Asgmt09

프로젝트 구현 과정

  1. 프로젝트 기본 설정 및 단일 플레이어 채팅 구현
  2. 멀티플레이 확장
  3. 숫자 야구 게임 로직 구현

<aside> 💡

프로젝트 기본 설정 및 단일 플레이어 채팅 구현

네트워크 기능을 추가하기 전, 플레이어가 입력을 하고 그 결과를 화면에서 확인할 수 있는 기본적인 채팅 시스템을 먼저 구현합니다.

가장 먼저, 프로젝트에 필요한 모듈을 설정합니다. UI(UMG, Slate), 입력(InputCore, EnhancedInput) 등 게임에 필요한 기능들을 .Build.cs 파일에 추가하여 엔진이 해당 모듈들을 함께 빌드합니다.

TextInputWidget

PlayerController


Code


<aside> 💡

멀티플레이 확장

단일 플레이어 채팅 기능을 멀티플레이어 환경으로 확장합니다. RPC(Remote Procedure Call) 를 사용하여 클라이언트의 입력을 서버로 보내고, 서버가 모든 클라이언트에게 메시지를 전송(Broadcast)하도록 구현합니다.

PlayerController

GameState, GameMode


Code


<aside> 💡

숫자 야구 게임 로직 구현

기본 채팅 시스템 위에 숫자 야구 게임의 규칙을 적용합니다. 모든 게임 로직은 **서버의 GameMode**에서만 처리하여 모든 플레이어가 동일한 게임 환경을 공유합니다.

PlayerState

GameMode

PlayerController


Code