멀티플레이어 게임 개발에는 주로 세 가지 레이어(계층)가 필요합니다:
유니티에서 제공하는 멀티플레이어 게임의 토폴로지(구조)는 크게 세 가지로 나뉩니다:
기본 구조:
클라이언트 소유 및 관리: 게임 클라이언트가 오브젝트를 직접 생성하고 관리하며, 소유 권한을 변경할 수 있습니다.
중앙 상태 서비스: 백엔드 서비스가 오브젝트의 상태 변경 사항을 추적하고 네트워크 트래픽을 라우팅합니다.
장점:
비용 절감: 중앙 집중식 서버를 사용하지 않기 때문에 서버 유지 비용이 절감됩니다.
입력 지연 감소: 클라이언트 예측 시스템을 사용하여 빠르게 반응합니다.
단점:
보안 문제: 중앙 집중식 관리가 없어서 클라이언트 측 부정 행위에 더 취약합니다. 적절한 보안 조치를 필요로 합니다.
Genre of your Game: 제작하고자 하는 게임의 장르를 선택합니다.
Number of Players per Session: 한 세션에 접속 가능한 최대 사용자 수를 선택합니다.
Detailed Game Specification
Gameplay Pace: 멀티플레이어 게임의 속도가 빠르게 진행되는지 아닌지를 선택합니다.
Cheating / Modding Prevention: 게임이 치팅에 민감한지 아닌지를 선택합니다.
Cost Sensitivity: 운영비용과 사용자 경험 최적화를 기준으로 중요도를 선택합니다.
Netcode Architecture: 운영하고자 하는 넷코드 아키텍처를 선택합니다.
넷코드 패키지와 멀티플레이 툴을 설치하고 해당 패키지가 연동되는 다른 멀티플레이어 툴즈도 설치할 수 있습니다.
퀵스타트 탭에서는 멀티플레이어 제작을 위한 가이드와 샘플 및 편의 기능을 제공하고 있습니다. 퀵스타트 탭에 진입하면 좌측에 세부 항목으로 접근하는 탭을 확인할 수 있습니다.
Netcode and Tools - Recommendation 탭에서 적용한 넷코드 뿐만아니라, 함께 사용하는 멀티플레이어 게임 개발도구들에 대한 사용 가이드와 샘플을 제공합니다.
본 아티클에서는 Unity 6의 멀티플레이어 게임 개발을 위한 새로운 기능들을 상세히 다루었습니다. Unity 6의 새로운 멀티플레이어 기능들은 개발자가 보다 쉽게, 효율적으로, 그리고 안전하게 멀티플레이어 게임을 개발할 수 있도록 돕기 위해 설계되었습니다.
Unity 6에 포함된 새로운 멀티플레이어 기능을 포함한 여러가지 멀티플레이어 기능에 대해 살펴보고 싶으신 경우, 유니티 코리아 채널을 통해 배포한 세션 영상을 참고 부탁드립니다.
Multiplayer에 대한 모든 것:
https://www.youtube.com/playlist?list=PL412Ym60h6uui4rxtzRirFLPW9igMw3yM
외에도, 올해 Unite에서 진행된 더욱 다양한 멀티플레이어 세션을 참고 부탁드립니다.
Accelerating the creation of your competitive multiplayer game | Unite 2024
Distributed Authority for client-hosted multiplayer games | Unite 2024
Going multiplayer: How to help your studio and game thrive | Unite 2024
Your first multiplayer game: A structured approach | Unite 2024