안녕하세요 펭귄 교수입니다.
저번에 이어, 유니티 6에 관한 소식을 더 가져왔습니다.
멀티 플레이어 게임 제작 간소화
멀티 플레이어 센터라는 기능이 새로 추가되었습니다.
이 기능을 사용하면 백엔드와의 서비스를 통합하여 더 간소화된 기능으로 간편하게 멀티 플레이 관련 세팅을 할 수 있게 됩니다.
멀티 플레이어 위젯은 단독 패키지로도 사용이 가능하고, 멀티 플레이어 센터 내에서도 사용이 가능합니다.
또한, 유니티 에디터 내에서 멀티 플레이 기능을 테스트할 수도 있습니다.
새 빌드를 만들지 않고, 동일한 에디터 내에서 최대 4개의 클라이언트(메인 플레이어 1 + 가상 플레이어 3)를 시뮬레이션 가능합니다.
새로운 플레이 모드 시나리오를 통해 제작자는 테스트 주기를 실제 환경, 시나리오 및 도구에 통합하여 라이브 플레이어와 함께 첫 번째로 플레이할 수 있는 경험을 제공할 수 있습니다. 플레이 모드 시나리오는 현재 데스크톱 및 전용 서버 환경을 지원합니다.
네트워크 토폴로지
유니티는 네트워크 토폴로지 라는 시스템을 이용하여 데디케이티드 서버(전용 서버) 등을 구축하고 있습니다.
유니티 6에서는 분산 권한 토폴로지 라는 네트워크 시스템을 도입하여 멀티 플레이 모드를 개선하였습니다.
현재는 베타 버전으로, 추후 더 개발된 모습이 될 거 같습니다.
분산 권한 토폴로지는 호스트 마이그레이션도 지원하므로 클라이언트 중 하나가 연결이 끊어졌을 때 게임의 연속성과 안정성을 해치지 않고 클라이언트 간에 상태 권한을 전송할 수 있습니다.
데디케이티드 서버 패키지 (전용 서버 패키지)
데디케이티스 서버 패키지 (Dedicated Server Package)가 추가되었습니다.
이 패키지를 사용하면 에디터의 전용 게임 서버 워크플로를 로컬과 멀티플레이 호스팅 모두에 서버 빌드를 배포할 수 있는 솔루션과 통합하여 멀티플레이어 개발 프로세스를 가속화할 수 있습니다.
또한, 다른 프로젝트를 만들지 않고 서버와 클라이언트의 역할을 프로젝트 내에서 전환이 가능합니다.
새로운 멀티플레이어 서비스 패키지는 멀티플레이어 게임을 빌드하는 데 필요한 코드 양을 대폭 줄이는 동시에 서비스와 넷코드 전반의 종속성 관리를 간소화합니다.
멀티플레이어 서비스 패키지
멀티플레이어 서비스 패키지 는 게임에 멀티플레이어 기능을 추가하는 데 사용할 수 있는 도구 모음입니다.
필요에 따라 로비, 릴레이, 분산 권한, 매치메이커 또는 멀티플레이 호스팅을 설정하세요. 새로운 세션 시스템은 멀티플레이어 게임 루프를 구축하고 세션 및 플레이어 상태를 관리하는 통합 개발자 인터페이스를 제공합니다.
P2P(피어투피어), 전용 게임 서버, 분산 권한으로 호스팅되는 온라인 세션을 만들고 관리할 수 있습니다. 플레이어는 매치메이킹, 참여 코드 또는 활성 세션 목록을 탐색하여 세션에 참여할 수 있습니다.
개발을 간소화하기 위해 세션은 GameObjects용 Netcode, Entity용 Netcode 및 Unity Transport 패키지와 직접 통합됩니다.
마무리
이렇게 유니티 6에 추가된 기능 중 멀티 플레이 관련 소식을 전해보았습니다.
이전에는 포톤을 이용해서 많은 멀티 플레이 기능들을 제어했었는데, 유니티에서 공식적으로 기능을 추가하고 그 기능들이 매력적으로 보이니 꽤 만족스럽습니다.
게임 개발을 좋아하는 입장으로써 개발자 친화적인 기능들이 더 나왔으면 좋겠습니다.
참조
https://discussions.unity.com/t/simplify-multiplayer-game-creation/1529805
다른 글 더보기
'게임 프로그래밍 > 유니티' 카테고리의 다른 글
[유니티 소식] 유니티 6 릴리즈! 렌더링 성능 향상 (3) | 2024.10.18 |
---|