Unreal Engine 5.8.1 기반의 Unreal Engine AngelScript 버전에서 간단한 멀티플레이 게임을 만들면서 Angel Script로 멀티 로직을 직접 분리한 것을 정리했다.

https://github.com/leeseungjae97/UEH/tree/main/UE6

기본 구조

  • C++ 클래스는 Unreal 객체, RPC, Widget 생성, Blueprint 연결 지점을 제공.
  • Blueprint는 실제 에셋 지정과 위젯 스타일링을 담당.
  • AngelScript는 서버 규칙, 플레이어 접속 처리, 시도 횟수, 승리/무승부 판정.

C++

BlueprintNativeEvent, BlueprintCallable, RPC 함수를 통해 AngelScript에 기본 로직 제공.

  • 플레이어 접속과 퇴장 이벤트 전달
  • 채팅 입력을 서버로 전달
  • 모든 클라이언트에 채팅 결과 출력
  • 승리 또는 무승부 결과 위젯 표시
  • 현재 접속자 목록 위젯 갱신

AngelScript

AngelScript에서는 서버 중심의 게임 진행 로직을 작성

  1. 서버에서 정답 숫자를 생성한다.
  2. 플레이어가 채팅창에 숫자를 입력한다.
  3. 입력값의 형식과 중복 여부를 검사한다.
  4. 유효한 입력이면 해당 플레이어의 시도 횟수를 증가시킨다.
  5. 스트라이크와 볼을 판정한다.
  6. 3 스트라이크면 승리로 처리한다.
  7. 모든 플레이어가 기회를 소진하면 무승부로 처리한다.
  8. 결과 공지 후 데이터를 초기화하고 새 게임을 시작한다.

게임 규칙이 바뀌어도 빌드없이 판정 흐름을 수정할 수 있다.

반응형

'TIL' 카테고리의 다른 글

UE Angel Script 패키징  (0) 2026.08.10
Angel Script을 이용한 서버 로직 분리  (0) 2026.08.07
UE Angel Script 문법  (0) 2026.08.05
Unreal Engine Angel Script  (0) 2026.08.03
UE NetRole  (0) 2026.07.31