Multplayer지원 게임 개발을 위한 개념 정리 & 계획
Multiplayer
Multiplayer를 지원하기 위해서는 서버와 클라이언트가 필요하다.
이때, 서버의 종류가 두 가지가 있다.
- 데디케이티드 서버(Dedicated Server): 단위 작업을 전담하는 서버(e.g. 게임 한 판, 특정 기능)
- 리슨 서버(Listen Server): 클라이언트/서버 구조의 서버, 하나의 PC가 서버 역할을 담당(e.g. 매칭 게임)
즉, 데디케이티드 서버는 서버 기능만을 담당하는 PC가 있는 것이고, 리슨 서버는 하나의 Player(방장)가 서버 역할을 담당하여 처리하는 구조이다.
UE5로 리슨 서버 구조의 Multiplyaer 보드게임을 만들 예정이다.
한 명의 Player가 Hosting을 하여 방을 만들고 다른 Player들이 그 방에 들어가서 게임을 하는 구조이다.
Session
Session은 반영구적이고 상호작용적인 정보를 교환하는 둘 이상의 통신 장치나 컴퓨터와 사용자 간의 대화나 송수신 연결상태를 의미한다.
즉, Player(Client)나 Server와의 연결 자체를 의미한다.
리슨 서버 구조의 MultiPlayer를 지원하는 게임을 만들기 위해서는 Session을 만들 수 있어야 한다.
또한, 만들어진 Session을 찾아 접속할 수 있어야 한다.
unreal에서는 이러한 session을 관리할 수 있는 인터페이스를 제공하고 있다.
이를 온라인 서브 시스템(Online Subsystem)이라고 한다.
그중 Steam을 이용하는 방식을 사용할 것이다.
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/Online/Steam/
Setup은 아래의 블로그를 참고하였다.
https://online-unreal.tistory.com/91