Unity 검색

유니티의 게임 백엔드 툴: 9가지 사용 사례

2022년 3월 11일 게임 | 10 분 소요
Backend Header
Backend Header
공유

게임 시스템을 지원할 백엔드를 구축하는 것은 쉬운 일이 아닙니다. 서버를 구축하고 호스팅하는 작업뿐 아니라 스케일링할 수 있으려면 많은 시간과 전문 지식 또는 비용이 듭니다.

유니티의 게임 백엔드 제품을 사용하면 Unity가 까다로운 작업을 처리하는 동안 콘텐츠 제작에 집중할 수 있습니다. 특히 다른 Unity Gaming Services를 함께 사용하면 더 큰 효과를 볼 수 있습니다. Unity의 Cloud Code, Cloud Save, Economy, Authentication이 제공하는 기능을 아래에서 살펴보세요.

게임 백엔드 분석하기

1. 중앙 집중식 서버 시간 사용

Backend 1 - Green circuits

게임에서 시간이 지정된 요소를 만들 때는 기기의 시간을 사용하면 가장 간단합니다. 그러나 일부 플레이어가 부정행위에 기기 시간을 악용할 수 있기 때문에 이는 완전히 신뢰할 수 없습니다.  

예를 들면, 한정된 시간동안 사용 가능한 아이템에 더 오래 액세스하기 위해 기기 시간을 조작하는 플레이어가 있을 수 있습니다. 

Cloud Code를 사용하면 상태 비보존 서버 측 코드를 작성할 수 있으며 신뢰할 수 있는 중앙 집중식 '서버' 시간을 사용하여 게임 로직을 작성할 수 있습니다. 

2. 교환 가능한 쿠폰 제공

Backend 2 - Building

풍부한 게임 내 보상을 제공하는 시스템을 설계하면 플레이어가 더 오래 게임에 몰입하도록 할 수 있습니다. Cloud Code를 사용하면 게임 내에서 쿠폰 코드와 보상 아이템을 승인할 수 있는 스크립트를 작성할 수 있습니다. 

게임이 서비스 중일 때 게임 클라이언트를 새로 업데이트할 필요 없이 쿠폰 로직을 변경하는 것도 가능합니다. 변경 내용을 서버에 게시하기만 하면 클라이언트에서 새 쿠폰 교환 규칙이 적용됩니다.

Cloud Save를 사용하면 플레이어가 쿠폰을 사용했는지 여부를 추적할 수 있으며, Economy를 설치하면 게임 내 통화나 아이템 등의 리소스를 제공할 수 있습니다.

3. 일일 보상 일정 생성

Backend 3 - Servers

일일 보상은 다양한 게임 내 아이템을 제공하여 게임에 다시 접속하도록 하는 효과적인 방법이며, 특히 모바일 게임에서 더 유용합니다.

Cloud Code 툴은 다른 유니티 서비스와 통합할 수 있으므로 일일 보상과 관련된 로직을 구축할 때 매우 유용하게 활용할 수 있습니다. Economy에서 아이템과 통화를, Remote Config에서 확률을 정의할 수 있고, Cloud Code에서는 기본 알고리즘을 작성합니다. 

이렇게 하면 게임 클라이언트를 업데이트하지 않고도 원하는 시점에 일일 보상 로직을 변경할 수 있습니다.

4. 여러 기기에서 플레이어 데이터 저장

Backend 4 - User chats

플레이어는 본인의 게임 내 업적과 구매 내역이 항상 보존되어야 한다고 생각합니다. 플레이어의 진행 상황은 온전하게 보존되어야 하며, 아울러 플레이어 본인에게만 연결되고, 플레이하는 모든 기기에서 완전히 동일해야 합니다. 

Cloud Save, Economy, Remote ConfigAuthentication과 결합하면 플레이어의 진행 상황을 자동으로 저장하고 계정에 연결할 수 있습니다.

Authentication을 사용하면 플랫폼 계정을 통한 로그인을 설정할 수 있으므로 동일한 플레이어가 Google, Facebook, Apple 또는 Steam에서 로그인하고 모든 기기에서 중단한 지점부터 이어서 플레이할 수 있습니다.

5. 인게임 경제 보호

Backend 5 - Highway to events

인게임 경제를 설계했다면 이를 보호하기 위한 안전 장치를 만들어야 합니다. 게임 내 보상이나 인앱 구매 아이템을 얻기 위해 부정한 의도를 가지고 다른 사람을 사칭하려는 플레이어가 있을 수 있습니다. 

EconomyAuthentication과 함께 작동하며, 부정행위자가 조작할 수 없는 고유의 토큰과 ID로 각 플레이어를 식별할 수 있도록 해 줍니다. 이렇게 하면 로그인한 플레이어의 신원과 현재 통화 및 아이템 인벤토리를 확인할 수 있습니다.

Cloud Code를 추가하면 이 과정을 서버 권한으로 처리하여 인게임 경제를 더 높은 수준으로 보호할 수 있습니다.

6. 게임 내 로직 즉시 변경

Backend 6 - Friend requests

실시간 업데이트나 버그 수정, 개선된 기능을 게임에 적용하는 과정은 꽤 까다롭습니다.

Cloud Code를 사용하여 게임 내 로직을 게임 클라이언트로부터 분리하면 모든 플레이어에 즉시 변경 사항을 적용할 수 있습니다. 클라이언트 기기로부터 게임 로직을 분리하면 플레이어가 설치된 버전을 업데이트하는 일 없이 게임 로직을 업데이트할 수 있습니다.

7. 원활한 사용자 경험 구축

Backend 7 - Users joined

모바일 게임에 많은 온라인 서비스를 사용하면 인터넷을 통해 데이터를 여러 번 전송해야 합니다. 플레이어의 인터넷 연결이 느리면 플레이어의 경험이 원활하지 않을 수 있습니다.

Economy 또는 Cloud Save와 같은 서비스에 변경 사항을 적용하는 경우, 보통 서버에서 데이터를 읽고 기기에서 수행될 작업을 결정합니다. 이후 결과 데이터가 서버로 다시 전송되어야 합니다.

Cloud Code를 사용하면 정보가 단 한 번만 왕복하면 되며 변경 사항이 서버에 직접 구현됩니다. 따라서 인터넷 연결 속도에 관계없이 모든 플레이어에게 더 원활한 경험을 제공할 수 있습니다.

8. 멀티플레이어 게임을 위한 P2P 구현

Backend 8 - Tunnel

Unity 엔진을 사용하여 멀티플레이어 게임을 개발하고 있다면, 에디터에 통합된 도구를 활용하여 게임을 안전하게 빌드 및 테스트하고 일관된 기술 스택을 유지할 수 있습니다. 

Unity의 Relay 서비스를 Authentication과 함께 사용하여 Relay에 연결된 플레이어를 익명 로그인이나 플랫폼별 로그인 중 하나로 승인할 수 있습니다.

이러한 툴을 사용하면 타사 솔루션이나 전용 게임 서버 없이도 멀티플레이어 게임을 빌드한 후 테스트 및 운영할 수 있습니다.

9. 호환되는 파티 및 로비 구성​​​​​​​

Backend 9 - City

멀티플레이어 게임을 개발할 때는 사람들을 연결하고 함께 플레이하도록 유도할 방법을 고려해야 합니다. 

로비나 파티 또는 매치로 그룹화할 플레이어별 특성을 파악하면 플레이어의 경험에 큰 영향을 미칠 수 있습니다. 

Unity의 LobbyMatchmaker 서비스를 Authentication과 결합하면 특정 유형의 플레이어를 그룹화하여 익명으로 인증한 후 서로 소통하고 함께 플레이하도록 지원할 수 있습니다. 

이와 같은 유연한 툴은 다양한 게임 유형을 지원할 수 있으며, 게임에 유입되는 수많은 플레이어를 지원할 수 있을 만큼 스케일링이 가능합니다.

게임 백엔드 툴 사용 방법 자세히 알아보기

게임 백엔드 툴 및 기타 Unity Gaming Services를 사용하려면 게임 운영 샘플 컬렉션을 확인해 보세요. 

제공되는 샘플 씬 및 관련 스크립트 파일에서는 게임 개발과 관련된 일반적인 문제를 다음과 같이 다양한 툴을 결합하여 해결하는 방법을 배울 수 있습니다.

  • 루트 박스 - Cloud Code를 사용하여 임의의 Economy 통화로 플레이어에게 보상을 지급합니다.
  • 일일 보상 - 플레이어가 일정 시간 간격으로 통화 및 인벤토리 아이템을 무작위로 획득하도록 합니다.
  • 스타터 팩 - Cloud Code로 일회성 구매 기능을 구현하여 플레이어가 스타터 팩을 구매할 수 있도록 합니다.
  • 시즌 이벤트 - 시간 지정 특별 이벤트를 기반으로 게임 콘텐츠를 원격 업데이트합니다.
  • 레벨 난이도 A/B 테스트 - 플레이어를 여러 테스트 그룹으로 분류하여 변수(이 경우 레벨업에 필요한 XP의 양)의 적정 수치를 결정합니다.
  • 방치형 클리커 미니 게임 - 방치형 클리커 및 소셜 게임처럼 서버 권한 게임 상태를 실시간으로 업데이트합니다.
  • 클라우드 AI 미니 게임 - 지속적인 상태와 통화 보상, 스탯 및 단순한 AI를 갖추고 UGS에서 실행되는 AI 대결형 삼목(Tic-Tac-Toe) 게임 형식의 서버 권한 게임플레이입니다.
  • 명령 일괄 처리 - 게임 명령을 대기열로 그룹화하고 서버에서 단일 배치로 처리하여 게임플레이 중 서버 호출의 양과 빈도를 줄입니다.
  • 배틀 패스 - 무료 트랙과 프리미엄 트랙이 있는 시즌별 보상 계층 시스템입니다.

Unity Gaming Services와 현재 베타 버전인 모든 제품에 대해 자세히 알아보려면 여기를 클릭하세요.

2022년 3월 11일 게임 | 10 분 소요