Unreal Engine 멀티플레이어 숫자야구 게임

조정원·2025년 9월 5일

언리얼 엔진을 이용해 멀티플레이 환경에서 동작하는 숫자야구 게임이다.
플레이어가 입력한 숫자와 판정 결과를 모든 클라이언트에서 실시간으로 확인할 수 있도록 구현했다.

깃허브
시연 영상

프로젝트 개요

  • 언리얼 엔진 5 기반 멀티플레이어 숫자야구 게임

  • 서버 중심 구조로 데이터 동기화

  • RPC와 PlayerState를 활용한 네트워크 동기화 기능 포함

주요 기능

1. 숫자야구 게임

  • 플레이어가 3자리 숫자 입력

  • 서버에서 스트라이크 / 볼 판정 수행

  • 입력 숫자와 판정 결과를 액터로 표시

  • 정답 공개 및 게임 초기화 가능

2. 네트워크 동기화

(1) Multicast RPC 사용

  • 숫자 액터를 레벨에 띄우고 스태틱 메시를 변경해야 함
  • 서버에서 호출하면 Multicast RPC 호출 시 모든 클라이언트에서 동시에 실행
void ABGNumber::MulticastSetNumber_Implementation(int32 Index)
{

	if (NumberMeshes.IsValidIndex(Index))
	{
		StaticMesh->SetStaticMesh(NumberMeshes[Index]);
	}
}

(2) 멀티플레이에서 캐릭터 별 색상 적용

  • 캐릭터의 BeginPlay에서 머티리얼 인스턴스 변수 저장
  • 딜레이 후 랜덤한 색상 생성 - Set Player Color 이벤트에 전달
  • Set Player Color 커스텀 이벤트로 리플리케이트(멀티캐스트)
  • 머티리얼 인스턴스 색상 변경

profile
게임 AI 개발자 조정원입니다.

0개의 댓글