![Hero image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fa51fd1566a33cde51eb4be4f7b6b56a6e156cecd-1920x1080.png&w=3840&q=75)
2024 유니티 게임 업계 보고서에 따르면, 다수의 스튜디오가 높은 복잡도에도 불구하고 더 많은 멀티플레이어 게임을 개발하고 있습니다. 플레이어 수를 늘릴수록 그만큼 게임 개발 과제도 많아지지만, Unity를 사용하면 어느 때보다도 간편하게 멀티플레이어 게임을 제작할 수 있습니다. 선별된 리소스 목록을 둘러보고 최신 멀티플레이어 데모와 샘플 및 템플릿을 살펴보세요.
![Screenshot of 2D space shooter gameplay](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F549645306bb18ea4a42ee0475c8fb49498bc344a-1020x574.png&w=3840&q=75)
NGO(NetCode for GameObjects)는 유니티의 고수준 네트워킹 라이브러리로, 네트워킹 로직을 추상화하여 멀티플레이어 게임 개발을 간소화합니다. NGO를 통해 게임 오브젝트와 월드 데이터를 효율적으로 관리하고 네트워킹 세션 전반에서 다수의 플레이어에게 전송할 수 있습니다. 멀티플레이어 개발을 이제 시작했다면 NGO가 훌륭한 시작점이 될 수 있습니다.
“Hello World” 프로젝트: 이 입문자용 튜토리얼은 첫 네트워크 게임의 토대를 구성할 수 있도록 NGO를 활용해 프로젝트를 설정하는 방법을 안내합니다.
2D Space Shooter: Netcode, NetworkVariables, ObjectPooling을 사용한 물리, 움직임, 상태 효과를 살펴볼 수 있는 흥미로운 코드 샘플입니다.
Invaders: 게임 플로, 고유의 움직임 메카닉, 네트워크 공유 타이머를 비롯한 여러 사항에 대한 세부 정보를 제공합니다.
클라이언트 중심 샘플: 클라이언트 중심의 움직임, 네트워크 물리, 오브젝트 생성, 부모 재지정을 살펴보세요.
동적 어드레서블 네트워크 프리팹 샘플: 이 고급 코드 샘플을 살펴보고 런타임에 생성 가능한 새로운 프리팹을 어떻게 동적으로 추가하는지 알아보세요.
마지막으로, UGS(Unity Gaming Services) 팀은 최근 NGO 및 멀티플레이어 서비스에 대한 기술 자료를 업데이트했습니다. 궁금한 점이 있거나 도움이 필요하면 멀티플레이어 포럼을 방문하세요.
![Megacity Metro gameplay](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F9901c3a94fd3bfc2126664427c96d7142b2e12c2-1020x574.png&w=3840&q=75)
더 복잡한 멀티플레이어 프로젝트에 도전하고 싶다면 아래의 고급 데모와 샘플을 살펴보세요. Lobby, Vivox, Relay, Multiplay Hosting, DOTS/ECS 등의 서비스를 통합하는 정교한 멀티플레이어 개념을 소개합니다.
소규모 경쟁형 멀티플레이어 템플릿: 이 템플릿을 시작점으로 삼고, Netcode For GameObjects와 UGS를 사용하여 멀티플레이어 프로젝트를 제작하고 출시해 보세요. 이 템플릿은 호스트, 클라이언트, 서버 등 다양한 네트워크 모드와 동적 설정, 에디터 내 튜토리얼, 기본 이벤트 기반의 게임플레이 플로를 사용하여 빠르게 테스트할 수 있는 Bootstrapper 툴을 포함합니다.
게임 로비 샘플: UGS의 Lobby 및 Relay 패키지를 사용하여 일반적인 게임 로비 경험을 만드는 방법을 살펴보세요. 오디오 입력 디바이스를 사용할 수 있는 경우 로비에 연결하면 Vivox 음성 채팅도 사용할 수 있습니다.
서버리스 멀티플레이어 게임 샘플:이 샘플은 Lobby Service 게임 로비에 참여하거나 게임 로비를 생성하여 간단한 코인 수집 아레나 게임에서 경쟁하는 방법을 소개합니다.
보스 룸(Boss Room): Unity Netcode로 제작되어 모든 기능을 갖춘 협동 멀티플레이어 RPG로, 유사한 종류의 멀티플레이어 게임에 자주 등장하는 일반적인 넷코드 패턴을 보여 주는 교육용 샘플입니다. 동영상을 보면서 따라 하려면 이 웨비나 시리즈를 확인해 보세요.
갤럭틱 키튼즈(Galactic Kittens): 스프라이트 애니메이션, 파티클 효과, 기본 2D 동작을 적용하고 동기화하는 방법을 보여 주는 2D 협동 우주 어드벤처 게임 샘플입니다.
Photon Fusion을 사용한 배틀 로얄: 유니티는 Photon과 함께 Unity 게임 서버 호스팅(Multiplay) 오케스트레이션 플랫폼과 Matchmaker에서 최고의 성능을 발휘하도록 지원하는 새로운 에셋을 출시했습니다.
Megacity Metro: 현재 유니티의 가장 강력한 멀티플레이어 데모인 Megacity Metro는 128명이 넘는 플레이어를 지원하며, Unity Gaming Services 및 DOTS/ECS 등 최신 멀티플레이어 기술을 사용합니다.
유니티의 개발자 및 콘텐츠 크리에이터 커뮤니티에서 수많은 동영상을 볼 수 있습니다. 유니티가 선정한 몇 개의 동영상을 확인해 보세요.
Tarodev의 “사용법 소개: Unity 온라인 멀티플레이어"(영문):설치부터 보간, 서버 권한까지 NGO의 사용 방법을 흥미롭게 소개하는 Tarodev의 영상입니다.
Code Monkey의 “Multiplayer 무료 학습"(영문):유니티 커뮤니티 올스타 Code Monkey가 NGO와 기타 UGS를 사용하여 Unity에서 멀티플레이어 게임을 만드는 방법을 설명하는 양질의 가이드를 만들었습니다.
Turbo의 “Netcode for Entities” 교육 과정(영문):Turbo의 동영상도 빼놓을 수 없습니다. 이 교육 과정에서는 멀티플레이어 MOBA 스타일의 경쟁 게임 제작 방법을 소개합니다.
숙련된 멀티플레이어 개발자이며 높은 수준의 성능과 결정론적 분명성을 필요로 하는 신선한 아이디어를 가지고 있다면, DOTS와 ECS가 게임에 적합한 기반이 되어 줄 것입니다.
객체 지향 설계 방식에서 데이터 지향 설계 방식으로 전환하려면 숙련된 프로그래머조차도 적응이 필요합니다. 유니티가 데이터 지향 설계를 시작하는 개발자를 위해 정리해 둔 추천 게시물을 확인해 보세요.
올해 GDC에서 유니티는 Unity 6의 멀티플레이어 로드맵을 선보였습니다. 유니티는 Multiplayer Play Mode, 분산 권한, 더 단순한 Multiplayer Services SDK 등을 제공하기 위해 최선을 다하고 있습니다. 로드맵을 확인하고 가장 마음에 드는 기능에 투표하거나 멀티플레이어 포럼에서 대화에 참여하세요.