UE5/UE5 MultiPlayerGame

MultiPlayerGame)1.멀티플레이의 개념

PJNull 2022. 5. 30.
728x90
반응형

멀티 플레이란?

 

 

멀티플레이란 적어도 두개의 게임 인스턴스가 별도의 머신에서 실행되고 두 플레이어간의 변경에 관한 정보가 서로에게 전송되어야하는 것을 의미한다. 

그렇다면 이러한 정보는 어떻게 전송해야되는 것인가?

 

 

멀티플레이의 종류

 

게임 색션간에 정보를 공유하기 위한 시스템을 설계하는 방법은 여러가지가 있다.

 

 

1.Pear to Pear

정보를 전송하는 간단한 방법중 하나는 피어 투 피어 연결이다. 이 방법은 익히 알려져 있는 토렌트나 중국의 한 스트리밍 방송의 정보전송의 방법이다. 플레이어가 캐릭터를 움직일때 그 정보를 다른 플레이어에게 직접 전송하는 방식이다. 마찬가지로 자신이 움직이게 되면 다른 플레이어에게 직접 정보를 전송한다. 이러한 Pear to Pear 방식은 플레이어가 적을때 굉장히 효율적으로 작동한다. 하지만 다수의 플레이어가 등장하게되면 이야기가 달라진다.

두명만 있을때 2번의 데이터전송이 있었던 것과는 달리 한명이 추가됨으로써 총6번의 데이터 전송을 필요로 한다. 즉, 플레이어가 많아지면 많아질수록 네트워크를 통해 엄청난 양의 데이터를 전송해야된다.

 

 

2.Client - Server

클라이언트-서버는 온라인게임에서 일반적으로 사용하고 있는 모델로써, 단일 머신은 서버로 지정되고 다른 모든 머신은 클라이언트가 되는 구조이다. 모든 클라이언트는 서버와만 통신이 가능하며, 클라이언트간은 직접 정보를 주지 않는다. 플레이어가 움직이면 그 정보를 서버에게 전달하고 서버는 전달받은 정보를 다른 클라이언트에게 전송하여 화면을 업데이트 하는 방식이다.

 

클라이언트-서버에도 여러 종류가 있다.

 

 

A.Listen-Server

Listen-Server의 경우 수신 대기서버를 사용한다. 이경우 플레이어 시스템 중 하나가 서버 역할을 하게된다. 그래서 플레이어가 실제로 게임을 하고 컴퓨터는 그래픽을 랜더링 하게 된다.

 

 

B.Dedicaterd-Server

Dedicaterd-Server의 경우 서버 역할을 할 컴퓨터를 지정한다. 지정된 컴퓨터는 게임을 플레이 하지 않고, 플레이하지 않기에 랜더링을 할 필요가 없다. 전용 서버 시스템을 사용하면 시뮬레이션만 처리할수 있고, 클라이언트의 대규모 멀티플레이의 데이터를 복제한다. MMO와 같은 대규모 게임은 이러한 방식을 채택한다.

 

 

UE멀티플레이

언리얼엔진에서의 멀티플레이는 클라이언트-서버모델을 사용한다. 싱글플레이게임을 할때에도 여전히 이러한 모델을 사용하고 있다(이경우 Listen-Server).  

728x90
반응형

댓글