[UE] 멀티플레이어 게임이 되는 법

KANTAM·2022년 7월 27일
0

Unreal Engine | Server

목록 보기
2/2

멀티플레이어 게임이 되는 법

입력과 상태

  • 상태는 기본적으로 월드의 모든 것이며 위치, 속도 보는 모든 것에 영향을 주는 것이다.

- 상태는 엔진에 의해 화면에 표시되는 이미지로 랜더링되는 것이다. (액터의 모든 변형, 컴포넌트의 다양한 변수, 액터의 다양한 변수)

  • 입력은 상태에 동작을 추가하는 것이다.
  • 엔진에서 일어나는 Tick은 현재 상태를 현재 입력 또는 현재 작업과 결합하고 두번째 상태인 다음 상태와 결과를 결합한다. 그런 다음 이 상태가 랜더링되어 화면에 출력되는데 이 싸이클이 반복된다.
  • 좋은 멀티플레이어 게임이 될려면 다른 플레이어가 게임의 상태에 동의해야 한다.(혼자서 내가 이겼다고 해도 소용이 없다.) 그렇기에 두 플레이어의 행동을 통합할 수 있어야 한다.

구현할 수 있는 방법

peer-to-peer

  • 플레이어 모두 서로가 소통하는 것
  • 한 플레이어가 입력을 하면 모든 플레이어가 받은 입력에 따라 상태를 업데이트한다.
  • 내 상태를 올바르게 업데이트하기 위해서는 상태를 업데이트하고 다음 프레임으로 넘어가기 전에(다음 틱을 수행하기 전에) 다른 모든 사람의 입력을 받기 위해 기다려야 한다.
  • 가장 느린 사람을 기다려야하며 보안의 문제가 있다.

client-server

  • 모든 컴퓨터를 중앙 서버에 연결하는 것으로 알려야할 것이 있다면 모든 사용자가 아닌 이 서버에 알린다.
  • 그 다음 서버는 상태를 업데이트하고(그 상태의 버전은 신뢰할 수 있음) 다른 컴퓨터에 알린다.(로컬 버전, 상태의 로컬 복사본을 업데이트하고 플레이어에게 랜더링 할 수 있다.)

0개의 댓글