Unity

Unity Gaming Services Samples - Boss Room Sample

AllGameDev 2022. 2. 10. 13:26
728x90
반응형

Game Lobby Sample 에 새로운 Sample이 추가되었네요.

바로바로 Boss Room Sample

즉시 다운로드 받아 보도록 하겠습니다.

https://unity.com/demos/small-scale-coop-sample

 

Small scale coop sample

Create a small scale cooperative game with our multiplayer sample project, Boss Room.

unity.com

github 주소는 다음과 같습니다.

https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop/releases/tag/v1.0.2-pre

 

Release v1.0.2-pre · Unity-Technologies/com.unity.multiplayer.samples.coop

Multiplayer Samples Co-op Changelog [1.0.2-pre] - 2022-02-09 Changes New session manager to allow reconnection (#361) Adding utilities asmdef, accessible as reusable Unity Package (#404) Min spec ...

github.com

github에서 다운로드 해 보도록 하겠습니다.

github 다운로드

github 내용을 한글로 번역해 보도록 하겠습니다.

 

Boss Room - Unity Netcode for GameObjects로 제작된 협동 멀티플레이어 RPG

Boss Room을 사용할 때 발생할 수 있는 문제를 해결하는 데 도움이 되는 솔루션 설계자가 Discord 및 포럼 에 있습니다.

Boss Room은 Unity Netcode로 만든 완전한 기능의 협동 멀티플레이어 RPG입니다. 유사한 네트워크 게임에서 자주 등장하는 특정 전형적인 게임 플레이 패턴 을 보여주는 교육용 샘플로 제작되었습니다 .

이 프로젝트의 모든 것을 시작점으로 사용하거나 고유한 Unity 게임의 일부로 사용할 수 있습니다. 프로젝트는 Unity Companion License에 따라 라이선스가 부여됩니다. 자세한 법적 정보는 LICENSE.md 를 참조하십시오.

보스룸 아트에 대한 자세한 내용 은 ART_NOTES.md 를 참조하세요 .

중요 :

  • Boss Room은 이러한 플랫폼(Windows, Mac, iOS 및 Android)에서 개발 및 테스트되었습니다.
    • iPhone 6 및 Pixel 3에서 테스트했습니다.
  • 보스룸은 최신 Unity LTS 버전과 호환됩니다.
  • 설치에 Windows/Mac에 대한 독립 실행형 지원을 포함해야 합니다.

 

프로젝트 가져오기

  • 시험판 버전은 릴리스 페이지에서 다운로드할 수 있습니다.
  • 또는 녹색 Code버튼을 클릭한 다음 zip 아카이브를 다운로드하도록 선택합니다. 현재 Github에서 보고 있는 분기를 다운로드한다는 것을 기억하십시오.
  • Windows 사용자의 경우: Windows의 기본 제공 추출 도구를 사용하면 추출 프로세스를 무효화할 수 있는 "오류 0x80010135: 경로가 너무 깁니다" 오류 창이 생성될 수 있습니다. 이에 대한 해결 방법은 zip 파일을 단일 문자(예: "c.zip")로 줄이고 컴퓨터에서 가장 짧은 경로(대부분 C:\ 오른쪽)로 이동한 다음 다시 시도하는 것입니다. 해당 솔루션이 실패하면 다른 해결 방법은 7zip을 사용하여 다운로드한 zip 파일을 추출하는 것입니다.

로컬로 복제하기 위해 Git LFS 설치

이 프로젝트는 로컬에서 필요한 모든 대용량 자산이 프로젝트에 대해 처리되도록 보장하는 Git LFS(Large Files Support)를 사용합니다. Windows 및 Mac 지침에 대한 Git LFS 설치 옵션 을 참조하세요 .

처음으로 프로젝트 열기

프로젝트를 다운로드했으면 아래 단계를 수행하여 실행할 수 있습니다.

  • 위의 전제 조건 섹션에 나열된 Unity 버전을 설치했는지 확인하십시오.
    • 설치에 Windows/Mac에 대한 독립 실행형 지원을 포함해야 합니다.
  • 추가 버튼 을 클릭 하고 다운로드한 프로젝트의 루트 폴더를 가리켜 Unity Hub 에 프로젝트를 추가합니다.
    • 프로젝트를 처음 열면 Unity가 모든 에셋을 가져오며 평소보다 시간이 오래 걸립니다. 정상적인 현상입니다.
  • 편집기가 준비되면 프로젝트 창으로 이동하여 프로젝트/시작 장면을 엽니다. 
  • 거기에서 재생 버튼을 클릭할 수 있습니다. 게임 내 UI를 사용하여 새 게임을 호스팅하거나 기존 게임에 참여할 수 있습니다.

멀티플레이어 테스트

멀티플레이어 기능이 작동하는지 확인하기 위해 ParrelSync 또는 빌드를 사용하여 컴퓨터에서 로컬로 게임의 여러 인스턴스를 실행하거나 인터넷을 통해 친구와 연결하도록 선택할 수 있습니다. 자세한 내용 은 테스트 방법을 참조하세요 .


** 로컬 멀티플레이어 설정**

먼저 실행 파일을 빌드해야 합니다.

실행 파일을 빌드하려면 메뉴 모음에서 파일/빌드 설정 을 누른 다음 빌드 를 누릅니다 . 

빌드가 완료되면 게임을 호스팅하고 참여하기 위해 빌드된 실행 파일의 여러 인스턴스를 시작할 수 있습니다.

Mac 사용자: 동일한 앱의 여러 인스턴스를 실행하려면 명령줄을 사용해야 합니다. 운영open -n BossRoom.app


인터넷을 통한 멀티플레이

인터넷을 통해 플레이하려면 모든 플레이어 간에 공유되는 실행 파일을 빌드해야 합니다. 이전 섹션을 참조하십시오.

동일한 실행 파일의 여러 인스턴스 간에 또는 실행 파일과 해당 실행 파일을 생성한 편집기 간에 연결할 수 있습니다.

현재 인터넷을 통해 게임을 실행하려면 릴레이 설정이 필요합니다. Boss Room은 Unity Relay  Netcode용 Photon Transport 와의 통합을 제공합니다 .

여기에서 Unity 릴레이 설정 가이드 를 확인 하세요. 여기에서 Photon-Realtime 설정 가이드 를 확인 하세요.

또는 포트 포워딩을 사용할 수 있습니다. https://portforward.com/ 사이트에는 수많은 라우터에서 포트 포워딩을 활성화하는 방법에 대한 가이드가 있습니다 . 보스룸은 외부 포트를 사용 UDP하고 열려 있어야 합니다. 9998호스트 주소가 0.0.0.0에서 수신 대기하는지 확인하십시오(127.0.0.1은 로컬 개발 전용).


프로젝트 탐색

BossRoom은 8인 협동 RPG 게임으로, 플레이어가 협력하여 미니언과 보스를 무찌르는 게임입니다. 플레이어는 학습적으로 흥미로운 네트워킹 특성을 가진 기술을 각각 보유한 클래스 중에서 선택할 수 있습니다. 제어 모델은 마우스 버튼이나 단축키에 의해 트리거되는 기술을 사용하여 클릭하여 이동합니다.

8개의 클라이언트 중 하나가 호스트/서버 역할을 합니다. 해당 클라이언트는 구성 접근 방식을 사용하여 해당 엔터티가 서버 및 클라이언트 구성 요소를 모두 갖도록 합니다.

이 게임은 대기 시간 마스킹 애니메이션을 사용하여 서버에서 신뢰할 수 있습니다. 위치 업데이트는 위치, 회전 및 이동 속도를 동기화하는 NetworkedVars를 통해 수행됩니다. NetworkedVars 및 RPC(원격 프로시저 호출) 끝점은 서버와 클라이언트 특수 논리 구성 요소 간에 공유되는 클래스에서 격리됩니다. 모든 게임 로직은 네트워크 업데이트 속도와 일치하는 30Hz의 FixedUpdate에서 실행됩니다.

코드는 적절할 때 서로 참조하는 Client , Shared  Server 의 세 가지 개별 어셈블리로 구성됩니다 .

프로젝트 아키텍처에 대한 개요는 ARCHITECTURE.md 를 확인하십시오 .


Unity Netcode 및 Boss Room에 대해 자세히 알아보려면 문서  Unity 멀티플레이어 리소스 섹션을 방문하세요.

Bite-size Samples

이 저장소에는 NGO의 다양한 하위 기능을 보여주는 작은 크기의 샘플 프로젝트 및 게임 모음이 포함되어 있습니다. API 및 기능을 더 잘 이해하기 위해 설명서와 함께 이러한 샘플을 검토할 수 있습니다.

기여

프로젝트는 다음 git-flow과 같이 분기 전략을 사용합니다.

  • develop분기에는 모든 활성 개발이 포함됩니다.
  • main분기에는 릴리스 버전이 포함되어 있습니다.

컴퓨터에서 프로젝트를 가져오려면 다음 명령줄 명령을 사용하여 GitHub에서 리포지토리를 복제해야 합니다.

git clone https://github.com/Unity-Technologies/com.unity.multiplayer.samples.coop.git

중요 : 로컬 시스템에 Git LFS 가 설치되어 있어야 합니다.

BossRoom에 문제 및 PR 제출에 대한 지침은 CONTRIBUTING.md 를 확인하십시오 !

더 많은 토론을 하고 팀과 소통하려면 Unity Multiplayer Networking Discord Server - Channel #dev-samples에 참여하세요.

 

바로 Windows로 컴파일 하여 실행해 보도록 하겠습니다.

 

 

728x90
반응형