Unity 검색

Netcode for GameObjects를 통해 정식 버전의 멀티플레이어 게임 제작

2023년 4월 5일 게임 | 5 분 소요
Still from Unity's Boss Room sample game
Still from Unity's Boss Room sample game
공유

Is this article helpful for you?

Thank you for your feedback!

Unity로 협동 멀티플레이어 게임을 제작하고 계신가요? 그렇다면 완벽한 온디맨드 리소스가 여기에 있습니다. 멀티플레이어 팀의 4부작 웨비나 시리즈를 지금 YouTube에서 시청해 보세요. 이 시리즈에서는 보스 룸(Boss Room) 샘플 게임을 심층 분석하여 Unity와 Netcode for GameObjects를 통해 정식 버전의 멀티플레이어 게임을 제작하는 방법을 살펴봅니다.

1. 기본적인 게임 구현 및 서버 권한 이해

멀티플레이어 게임 제작은 적절한 API를 사용하는 것만으로 끝나지 않습니다. 이번 시리즈의 첫 번째 세션에서는 베스트 프랙티스를 다루며, 멀티플레이어 게임 개발 시 플레이어 간 인터넷과 같은 복잡한 기술을 도입하는 경우를 위한 조언을 제공합니다.

첫 번째 세션에서 다루는 내용은 다음과 같습니다.

  • NGO(Netcode for GameObjects), UGS(Unity Gaming Services)에 대한 이해 
  • NetworkVariable과 RPC 비교 및 각 기능별로 둘 중 하나를 선택해야 하는 이유
  • 권한에 대한 내용 및 대부분의 게임플레이에서 서버 권한을 선택한 이유
  • 지연 처리를 위한 클라이언트 권한과 같은 대체 모델과 이동, 경로 탐색 기반 이동을 위한 최적화 비법
  • 기본적인 게임 구현과 State(NetworkVariable, 네트워크 목록) 및 RPC 사용 사례

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

2. 캐릭터 능력, 생성, 씬 오브젝트 구축

두 번째 세션에서는 보스 룸에서 캐릭터 능력을 구현한 사례와 게임에서 능력을 구현하는 방법을 알아봅니다. 

심층 분석할 주제는 다음과 같습니다.

  • 서버 기반 능력을 구현하는 일반적인 플로
  • 안정성 및 RPC의 안정성 하락이 갖는 의미
  • 근거리 공격 그리고 애니메이션 문제 예측
  • 탱크 쉴드 기능 및 환경과의 상호 작용
  • 클라이언트 측에서만 시간에 따라 입력을 추적해야 하는 궁수 파워샷과 AOE(영향 영역)
  • 마법사 파이어볼트와 대역폭 사용
  • Unity 능력 시스템의 일반적인 아키텍처

또한 다음과 같은 내용도 살펴봅니다.

  • 동적으로 생성되는 오브젝트
  • 정적 씬 내 배치 오브젝트 생성
  • 파괴 가능한 씬 내 배치 오브젝트 생성
  • 후반 합류 시 좀비 임프에 관해 알게 된 사항
  • 풀과 같은 커스텀 생성 로직 및 그러한 로직을 NGO와 통합하는 방법

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

3. 플레이어에 대해 탄력적인 멀티플레이어 게임 제작

세 번째 세션에서는 플레이어에 대해 탄력적인 멀티플레이어 게임 제작을 본격적으로 살펴보기 전에 게임 구현과 관련된 세부 사항을 조금 더 다뤄 봅니다.

여기에서 살펴볼 내용은 다음과 같습니다.

  • 물리 상호 작용, 오브젝트 및 부모 지정, 씬 및 씬 관리
  • RelayLobby를 사용해 게임을 온라인으로 전환하는 방법 및 참여하는 플레이어에 NGO를 사용할 수 없는 이유
  • NGO 및 커스텀 직렬화를 사용해 플레이어 간 캐릭터 선택 화면 동기화
  • 참여와 이탈을 반복하는 플레이어, 재연결 플로, 후반 참여 지원, 연결 해제, 시간 초과에 대응하는 탄력적인 게임 제작
  • 경쟁 상태 처리 및 향후 수행할 다양한 테스트

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

4. 대역폭 및 게임 개발 프로세스 최적화

시리즈의 네 번째이자 마지막 세션에서는 멀티플레이어 게임 개발을 위한 베스트 프랙티스를 살펴봅니다.

이 세션에서 다루는 내용은 다음과 같습니다.

  • 대역폭 최적화 및 프로파일링 툴, 네트워크 트랜스폼 최적화, 기타 팁
  • 네트워크 상태 시뮬레이터, 상태 모니터링, 커스텀 디버그 플로와 같은 디버깅 툴
  • 프로젝트 아키텍처(액션 시스템, 플레이어 아키텍처 등)
  • 보스 룸의 미래

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

멀티플레이어 개발 시작하기

시리즈를 모두 시청하셨나요? 향후 더 나은 세션을 준비할 수 있도록 피드백을 공유해 주세요.

Unity 및 Netcode for GameObjects를 통해 새로운 멀티플레이어 프로젝트를 본격적으로 진행할 준비가 되셨다면, 다음과 같은 유용한 리소스를 활용해 보세요.

Unity를 활용한 멀티플레이어 게임 개발과 관련해 질문이나 피드백이 있으신가요? Discord 또는 포럼에서 자유롭게 토론에 참여하세요.

2023년 4월 5일 게임 | 5 분 소요

Is this article helpful for you?

Thank you for your feedback!

관련 게시물