UWP 게임에 클라우드 서비스 사용

Windows 10의 UWP(유니버설 Windows 플랫폼)는 Microsoft 장치에서 게임을 개발하는 데 사용할 수 있는 API 집합을 제공합니다. 여러 플랫폼과 장치에서 게임을 개발할 때 클라우드 백엔드를 사용하여 수요에 따라 게임을 확장할 수 있습니다.

게임에 대한 전체 클라우드 백엔드 솔루션을 찾고 있는 경우에는 게임 백 엔드를 위한 SaaS(Software as a Service)를 참조하세요.

클라우드 컴퓨팅이란?

클라우드 컴퓨팅은 인터넷을 통해 주문형 IT 리소스 및 애플리케이션을 사용하여 디바이스에 대한 데이터를 저장하고 처리합니다. 클라우드라는 용어는 특정하지 않은 위치에서 액세스할 수 있는 방대한 리소스(로컬 리소스 아님)의 가용성에 대한 비유입니다. 클라우드 컴퓨팅 원칙은 리소스와 소프트웨어를 사용할 수 있는 새로운 방법을 제공합니다. 사용자는 더 이상 전체 제품이나 리소스에 대한 비용을 선불로 지불할 필요가 없으며 대신 플랫폼, 소프트웨어 및 리소스를 서비스로 사용할 수 있습니다. 클라우드 공급자는 사용량 또는 서비스 요금제 제공량에 따라 고객에게 요금을 청구하는 경우가 많습니다.

클라우드 서비스를 사용하는 이유는 무엇인가요?

게임에 클라우드 서비스를 사용할 때의 한 가지 이점은 물리적 하드웨어 서버에 미리 투자할 필요가 없지만 이후 단계에서 사용량 또는 서비스 요금제에 따라 비용을 지불해야 한다는 것입니다. 새 게임 타이틀 개발과 관련된 위험을 관리하는 데 도움이 되는 한 가지 방법입니다.

또 다른 이점은 게임에서 방대한 클라우드 리소스를 활용하여 확장성을 확보할 수 있다는 것입니다(동시 플레이어 수의 급격한 급증, 강렬한 실시간 게임 계산 또는 데이터 요구 사항을 효과적으로 관리). 이렇게 하면 게임의 성능이 계속 안정적으로 유지됩니다. 또한 클라우드 리소스는 전 세계 어디서나 모든 플랫폼에서 실행되는 모든 디바이스에서 액세스할 수 있습니다. 즉, 전 세계 모든 사용자에게 게임을 제공할 수 있습니다.

플레이어에게 놀라운 게임 플레이 경험을 제공하는 것이 중요합니다. 클라우드에서 실행되는 게임 서버는 클라이언트 측 업데이트와 독립적이므로 전반적으로 게임을 더욱 제어하고 안전한 환경을 제공할 수 있습니다. 또한 클라우드를 통해 클라이언트를 신뢰하지 않고 서버 측 게임 논리를 사용하여 게임 플레이 일관성을 확보할 수도 있습니다. 서비스 대 서비스 연결은 게임 내 구매를 다양한 결제 방법에 접목하고, 다른 게임 네트워크들 사이를 브릿징하거나, Facebook 및 Twitter와 같은 인기 있는 소셜 미디어 포털에 게임 내 업데이트를 공유하여 보다 통합적인 게임 경험을 제공하도록 구성될 수도 있습니다.

또한 전용 클라우드 서버를 사용하여 대규모 영구 게임 세계를 만들고, 게이머 커뮤니티를 구축하고, 시간이 지남에 따라 게이머 데이터를 수집 및 분석하여 게임 플레이를 개선하고, 게임의 수익 창출 디자인 모델을 최적화할 수도 있습니다.

또한 비동기 멀티 플레이어 메커니즘을 사용하는 소셜 게임과 같이 집중적인 게임 데이터 관리 기능이 필요한 게임은 클라우드 서비스를 사용하여 구현할 수 있습니다.

게임 회사가 클라우드 기술을 사용하는 방법

다른 개발자가 게임에서 클라우드 솔루션을 구현하는 방법을 알아봅니다.

개발자 설명 주요 게임 시나리오 자세한 정보
Tencent 게임 Tencent 게임은 기존의 PC 게임이 서비스로 제공될 수 있게 해 주는 Azure 서비스 패브릭을 사용하여 혁신적인 솔루션을 개발했습니다. 그들의 클라우드 게임 솔루션은 워크로드를 백엔드에서 마이크로 서비스로 실행하는 '씬 클라이언트 + 리치 클라우드' 모델을 사용합니다.
  • 기존 PC 게임은 전 세계 사용자에게 클라우드 게임으로 제공됨
  • 최적화된 게임 전달 프로세스
  • 마이크로 서비스로 격리되어 복잡성을 줄이는 게임 기능, 종속성으로 인한 워크로드 반복 횟수 감소, 새로운 기능을 독립적으로 업그레이드할 수 있는 기능
  • 최신 게임 콘텐츠를 실행할 수 있는 소규모 설치 패키지 다운로드(GB에서 MB로 감소된 패키지 크기)
  • 유지 관리 비용 절감
343 산업 Halo 5: Guardians는 자동 인덱싱 기능으로 인한 속도와 유연성 때문에 선택된 Azure Cosmos DB(DocumentDB API를 통함)를 사용하여 Halo: Spartan Companies를 소셜 게임 플레이 플랫폼으로 구현했습니다.
  • 멀티 플레이어 게임 플레이에 대한 그룹 만들기/관리를 처리하는 확장 가능한 데이터 계층
  • 게임 및 소셜 미디어 통합
  • 여러 특성을 통한 데이터의 실시간 쿼리
  • 게임 플레이 도전 과제 및 통계 동기화
Illyriad Games Illyriad Games는 최신 브라우저가 있는 장치에서 재생할 수 있는 MMO(대규모 멀티 플레이어 온라인) 서사시적인 3D 우주 게임인 Age of Ascent를 만들었습니다. 따라서 이 게임은 PC, 노트북, 휴대폰 및 기타 모바일 디바이스에서 플러그 인 없이 재생할 수 있습니다. 해당 게임은 ASP.NET Core, HTML5, WebGL 및 Azure를 사용합니다.
  • 플랫폼 간, 브라우저 기반 게임
  • 단일 대규모 영구 오픈 월드
  • 집중적인 실시간 게임 플레이 계산 처리
  • 플레이어 수에 따른 배율 조정
  • 서비스 패브릭으로 게임 구축: Age of Ascent MMO 게임(동영상)
  • Azure Service Fabric을 사용하여 게임 구성 요소를 마이크로 서비스로 관리(비디오)
  • Age of Ascent 개발자 인터뷰(동영상)
Next Games Next Games는 AMC의 오리지널 시리즈를 기반으로 한 The Walking Dead: No Man's Land 비디오 게임의 제작사입니다. Walking Dead 게임은 Azure를 백 엔드로 사용했습니다. 이 게임은 출시 첫 주말에 1,000,000건의 다운로드를 기록했고 첫 주 만에 미국 앱 스토어에서 iPhone & iPad 무료 앱 1위가 되었고, 12개국에서 무료 앱 1위, 13개국에서 무료 게임 1위가 되었습니다.
  • 플랫폼 간
  • 턴 기반 멀티 플레이어
  • 탄력적 성능 규모 조정
  • 게이머 사기 방지
  • 동적인 콘텐츠 전송
Pixel Squad Pixel Squad는 Unity 게임 엔진과 Azure를 사용하여 Crime Coast를 개발했습니다. Crime Coast는 Android, iOS 및 Windows 플랫폼에서 사용할 수 있는 소셜 전략 게임입니다. Azure Blob Storage, Managed Azure Redis Cache, 부하 조정된 IIS VM 배열, Microsoft 알림 허브가 게임에 사용되었습니다. 5,000명의 동시 플레이어가 급증하는 경우 스케일링을 관리하고 플레이어 급증을 처리하는 방법을 알아봅니다.
  • 플랫폼 간
  • 멀티 플레이어 온라인 게임
  • 플레이어 수에 따른 배율 조정
  • Crime Coast MMO 게임에서 Azure Cloud Services를 사용한 방법

클라우드 백 엔드를 디자인하는 방법

제작자와 게임 디자이너가 게임에 필요한 게임 기능에 대해 논의하는 동안 게임 인프라를 설계하는 방법을 고려하는 것이 좋습니다. 다양한 디바이스 및 여러 주요 플랫폼에서 게임을 개발하려는 경우 Azure를 게임 백 엔드로 사용할 수 있습니다.

IaaS, PaaS 또는 SaaS 이해

먼저 게임에 가장 적합한 서비스 수준에 대해 생각해야 합니다. 다음 세 가지 서비스의 차이점을 알면 백 엔드를 빌드하는 데 사용할 방법을 결정하는 데 도움이 될 수 있습니다.

  • IaaS(서비스 제공 인프라)

    IaaS(Infrastructure as a Service)는 인터넷을 통해 프로비전되는 관리형 인스턴트 컴퓨팅 인프라입니다. 수요에 따라 빠르게 확장 및 축소할 수 있는 많은 컴퓨터를 쉽게 사용할 수 있다고 상상해 보세요. IaaS를 사용할 경우 자체 물리적 서버와 기타 데이터 센터 인프라를 구입하고 관리하는 데 따른 비용과 복잡성이 없어집니다.

  • PaaS(Platform as a Service)

    PaaS(Platform as a Service)는 IaaS와 비슷하지만 서버, 스토리지 및 네트워킹과 같은 인프라 관리도 포함합니다. 따라서 물리적 서버 및 데이터 센터 인프라를 구입하지 않는 것 외에도 소프트웨어 라이선스, 기본 애플리케이션 인프라, 미들웨어, 개발 도구 또는 기타 리소스를 구입 및 관리할 필요가 없습니다.

  • SaaS(Software as a Service)

    SaaS(Software as a Service)를 도입하면 사용자가 인터넷을 통해 클라우드 기반 앱에 연결하여 사용할 수 있습니다. 종량제를 기반으로 클라우드 서비스 공급자의 완벽한 소프트웨어 솔루션을 제공합니다. 일반적인 예로는 이메일, 일정 관리 및 Office 도구(Microsoft 365 Office 앱 등)가 있습니다. 조직에 대해 앱을 사용할 수 있게 빌려 주며, 사용자는 일반적으로 웹 브라우저를 사용하여 인터넷을 통해 연결합니다. 모든 기저 인프라, 미들웨어, 앱 소프트웨어 및 앱 데이터는 서비스 공급자 데이터 센터에 존재합니다. 서비스 공급자는 하드웨어 및 소프트웨어를 관리하고 적절한 서비스 계약을 통해 게임 및 데이터의 가용성과 보안을 보장합니다. SaaS를 통해 조직은 최소의 사전 투자 비용으로 신속하게 앱을 시작하고 실행할 수 있습니다.

Azure를 사용하여 게임 인프라 디자인

다음은 Azure 클라우드 제품을 게임에 사용할 수 있는 몇 가지 방법입니다. Azure는 Windows, Linux 및 Ruby, Python, Java 및 PHP와 같은 친숙한 오픈 소스 기술을 사용합니다. 자세한 내용은 게임용 Azure를 참조하세요.

요구 사항 활동 시나리오 제공 제품 제품 기능
클라우드에서 도메인 호스트 DNS 쿼리에 효율적으로 응답 Azure DNS 고성능 및 가용성으로 도메인 호스트
로그인, ID 확인 게이머 로그인 및 게이머 ID 인증 Azure Active Directory 다단계 인증을 사용하여 모든 클라우드 및 온-프레미스 웹앱에 Single Sign-On
IaaS(Infrastructure as a Service) 모델을 사용하는 게임 게임이 클라우드의 가상 머신에서 호스트됩니다. Azure VMs 기본 제공 가상 네트워킹 및 부하 분산을 통해 게임 서버로 가상 머신 인스턴스를 1개에서 수천 개까지 확장하고 온-프레미스 시스템과 하이브리드 일관성을 유지합니다.
PaaS(Platform as a Service Model)를 사용하는 웹 또는 모바일 게임 게임은 관리되는 플랫폼에서 호스트됩니다. Azure App Service 웹 사이트 또는 모바일 게임용 PaaS(미들웨어/개발 도구/BI/DB 관리가 있는 Azure VM을 의미)
OS(PaaS)를 더 효과적으로 제어할 수 있는 확장 가능한 고가용성 N단계 클라우드 게임 게임은 관리되는 플랫폼에서 호스트됩니다. Azure Cloud Service 확장성 및 신뢰성이 있고 운영 비용이 낮은 애플리케이션을 지원하도록 설계된 PaaS
보다 나은 성능 및 가용성을 위해 여러 지역에 걸친 부하 분산 들어오는 게임 요청을 라우팅합니다. 첫 번째 수준의 부하 분산과 같은 역할을 할 수 있습니다. Azure Traffic Manager 여러 자동 장애 조치(failover) 옵션 및 트래픽을 동일하게 또는 가중치 값으로 분산하는 기능을 제공합니다. 온-프레미스 및 클라우드 시스템을 완벽하게 결합할 수 있습니다.
게임 데이터에 대한 클라우드 스토리지 최신 게임 데이터는 클라우드에 저장되고 클라이언트 디바이스로 전송됩니다. Azure Blob Storage 저장할 수 있는 파일 종류에 제한이 없으며, 이미지, 오디오, 비디오 등과 같은 대량의 비정형 데이터를 위한 개체 스토리지입니다.
임시 데이터 스토리지 테이블 게임 트랜잭션(게임 상태 변경)이 일시적으로 테이블에 저장됩니다. Azure Table Storage 게임 데이터는 게임의 요구에 따라 유연한 스키마에 저장할 수 있습니다.
큐 게임 트랜잭션/요청 게임 트랜잭션은 큐 형태로 처리됩니다. Azure Queue Storage 큐는 게임 중 예상치 않은 갑작스러운 트래픽 증가를 완화시키고 폭발적인 요청 증가로 인해 서버가 폭주하지 않도록 방지합니다.
확장 가능한 관계형 게임 데이터베이스 게임 내 트랜잭션 같은 관계형 데이터의 데이터베이스에 대한 구조적 스토리지 Azure SQL Database SQL Database as a Service(VM의 SQL과 비교)
확장 가능한 분산 대기 시간이 짧은 게임 데이터베이스 스키마 유연성이 있는 게임 및 플레이어 데이터의 빠른 읽기, 쓰기 및 쿼리 Azure Cosmos DB 짧은 대기 시간 NoSQL 문서 Database as a Service
Azure 서비스와 함께 자체 데이터 센터 사용 게임이 사용자 고유의 데이터 센터에서 검색되어 클라이언트 디바이스로 전송됩니다. Azure Stack 조직에서 사용자 고유의 데이터 센터에서 Azure 서비스를 제공하여 더 많은 것을 달성할 수 있도록 지원합니다.
큰 데이터 청크 전송 Azure CDN을 사용하여 가장 가까운 CDN(Content Delivery Network) POP 위치에서 게임 이미지, 오디오 및 비디오와 같은 큰 파일을 사용자에게 보낼 수 있습니다. Azure Content Delivery Network 대규모 중앙 집중식 노드의 최신 네트워크 토폴로지에서 빌드된 Azure CDN은 급격한 트래픽 급증 및 부하를 처리하여 속도와 가용성을 크게 높여 사용자 환경을 크게 개선합니다.
짧은 대기 시간 캐싱을 수행하여 데이터의 더 많은 제어와 보장된 격리를 통해 빠르고 확장 가능한 게임을 빌드하고, 게임의 매치 메이킹 기능을 개선하는 데도 사용할 수 있습니다. Azure Redis Cache 높은 처리량과 일관되고 대기 시간이 짧은 데이터 액세스로 빠르고 확장 가능한 Azure 애플리케이션을 실행할 수 있습니다.
높은 확장성, 낮은 대기 시간 읽기 및 쓰기 대기 시간이 짧은 게임 사용자 수의 변동을 처리합니다. Azure Service Fabric 가장 복잡하고 대기 시간이 짧은 데이터 집약적 시나리오를 구동하고 안정적으로 확장하여 한 번에 더 많은 사용자를 처리할 수 있습니다. Service Fabric을 사용하면 상태 비저장 앱에 필요한 것처럼 별도의 저장소 또는 캐시를 만들 필요 없이 게임을 빌드할 수 있습니다.
디바이스에서 초당 수백만 개의 이벤트를 수집하는 기능 디바이스에서 초당 수백만 개의 이벤트 기록 Azure Event Hubs 게임, 웹 사이트, 앱 및 디바이스에서 클라우드 단위 원격 분석 수집
게임 데이터에 대한 실시간 처리 게이머 데이터의 실시간 분석을 수행하여 게임 플레이 개선 Azure Stream Analytics 클라우드에서 실시간 스트림 처리
예측 가능한 게임 플레이 개발 게이머 데이터를 기반으로 사용자 지정된 동적 게임 플레이 만들기 Azure Machine Learning 예측 분석 솔루션을 쉽게 빌드, 배포 및 공유할 수 있도록 하는 완전 관리형 클라우드 서비스
게임 데이터 수집 및 분석 관계형 데이터베이스와 비관계형 데이터베이스에서 대량의 데이터 병렬 처리 Azure Data Warehouse 엔터프라이즈급 기능을 갖춘 탄력적인 Data warehouse-as-a-Service
사용자의 사용 및 보존 증가 백 엔드에서 임의의 플랫폼에 대상 푸시 알림을 보내 관심을 생성하고 특정 게임 작업 권장 Azure 알림 허브 iOS, Android, Windows, Kindle, Baidu와 같은 모든 주요 플랫폼에서 수백만의 모바일 디바이스에 빠르게 브로드캐스트합니다. 모든 백 엔드 클라우드 또는 온-프레미스에서 게임을 호스트할 수 있습니다.
콘텐츠를 보호하면서 지역 및 전 세계 시청자에게 미디어 콘텐츠 스트리밍 브로드캐스트 품질의 게임 예고편과 영화 클립을 모든 디바이스에서 볼 수 있습니다. Azure Media Services 통합 Content Delivery Network 기능을 통한 주문형 및 라이브 동영상 스트리밍. 콘텐츠 보호 및 암호화를 포함하여 모든 재생 요구 사항에 대해 하나의 플레이어만 사용합니다.
모바일 앱 개발, 배포 및 베타 테스트 모바일 앱을 테스트하고 배포합니다. 앱 성능 및 사용자 경험 관리. HockeyApp 충돌 보고 및 사용자 메트릭을 앱 배포 및 사용자 피드백 플랫폼과 통합합니다. Android, Cordova, iOS, OS X, Unity, Windows 및 Xamarin 앱을 지원합니다. 또한 다양한 분석, 충돌 보고, 푸시 알림, 앱 배포 등을 결합한 앱의 필수 제어 기능인 Visual Studio Mobile Center를 고려해 보세요.
사용량 및 보존을 늘리기 위한 마케팅 캠페인 만들기 대상 플레이어에게 푸시 알림을 보내 관심을 유발하고 데이터 분석에 따라 특정 게임 행동을 장려합니다. Mobile Engagement - 2018년 3월에 사용 중지되며 현재 기존 고객에게만 제공 모든 주요 플랫폼(iOS, Android, Windows, Windows Phone)에서 게임 플레이 시간 및 사용자 유지 증가

시작 및 개발자 리소스

  • Microsoft for Startups

    스타트업용 Microsoft는 스타트업 기업의 성장을 가속화하기 위해 제품, 기술 및 출시 측면에서 혜택을 제공합니다. Azure 체험 계정을 얻을 수 있는 것도 이러한 혜택 중 하나입니다. 200달러 크레딧만 있으면 30일 동안 서비스를 탐색하고 12개월 동안 인기 서비스를 무료로 이용하며 25개 이상의 무료 서비스를 언제든 이용할 수 있습니다. 더 자세한 내용은 Azure 무료 계정과 함께 스타트업 아이디어 실현을 참조하세요.

  • 개발자 프로그램

    Microsoft는 게임을 개발하고 게시하는 데 도움이 되도록 ID@XboxXbox Live 크리에이터스 프로그램 등의 여러 개발자 프로그램을 제공합니다.

학습 리소스

게임 백 엔드용 Software as a Service

Azure PlayFab는 현재 1,200개 이상의 라이브 게임과 매달 8천만 명의 플레이어를 지원합니다. 실시간 제어 기능이 있는 전체 스택 LiveOps를 포함하는 완전한 백 엔드 플랫폼입니다.

모바일, PC 또는 SDK를 사용하는 콘솔 게임에 이 솔루션을 통합할 수 있습니다. Android, iOS, Unreal, Unity, Windows 같은 인기 게임 엔진 및 플랫폼에서 사용할 수 있는 SDK가 나와 있습니다.

게임의 사용자 기반을 넓힐 수 있도록 인증, 플레이어 데이터 관리, 멀티 플레이어 및 실시간 분석 같은 게임 서비스를 제공하고 있습니다. 실시간 데이터 파이프라인 및 LiveOps의 장점을 활용하여 플레이어를 사용자 지정 게임 내 아이템, 이벤트 및 프로모션에 참여시킵니다. 또한 A/B 테스트를 수행하고 보고서를 작성하며 푸시 알림을 내보내는 기능도 있습니다.

우리는 끊임없이 혁신하고 새로운 기능을 추가하고 있습니다. 자세한 내용은 Azure PlayFab을 참조하고, 가격 책정은 가격 책정을 참조하세요.