Windows 10의 UWP(유니버설 Windows 플랫폼)는 Microsoft 장치에서 게임을 개발하는 데 사용할 수 있는 API 집합을 제공합니다. 플랫폼 및 장치에서 게임을 개발할 때 클라우드 백 엔드를 사용하여 수요에 따라 게임을 확장할 수 있습니다.
게임에 대한 완전한 클라우드 백엔드 솔루션을 찾고 있는 경우 게임 백엔드를 위한 서비스형 소프트웨어를 확인해보세요.
클라우드 컴퓨팅이란?
클라우드 컴퓨팅은 인터넷을 통해 주문형 IT 리소스 및 애플리케이션을 사용하여 디바이스에 대한 데이터를 저장하고 처리합니다. 클라우드라는 용어는 특정이 아닌 위치에서 액세스할 수 있는 방대한 리소스(로컬 리소스 아님)의 가용성에 대한 비유입니다. 클라우드 컴퓨팅 원칙은 리소스와 소프트웨어를 사용할 수 있는 새로운 방법을 제공합니다. 사용자는 더 이상 전체 제품 또는 리소스에 대한 비용을 선불로 지불할 필요가 없으며 대신 플랫폼, 소프트웨어 및 리소스를 서비스로 사용할 수 있습니다. 클라우드 공급자는 종종 사용량 또는 서비스 계획 제품에 따라 고객에게 요금을 청구합니다.
클라우드 서비스를 사용하는 이유는 무엇인가요?
게임에 클라우드 서비스를 사용하는 한 가지 이점은 물리적 하드웨어 서버에 미리 투자할 필요가 없지만 이후 단계에서 사용량 또는 서비스 계획에 따라 비용을 지불해야 한다는 것입니다. 새 게임 타이틀 개발과 관련된 위험을 관리하는 한 가지 방법입니다.
또 다른 이점은 게임이 방대한 클라우드 리소스를 활용하여 확장성을 달성할 수 있다는 것입니다(동시 플레이어 수의 급격한 급증, 강렬한 실시간 게임 계산 또는 데이터 요구 사항을 효과적으로 관리). 이렇게 하면 게임의 성능이 계속 안정적으로 유지됩니다. 또한 클라우드 리소스는 전 세계 어디서나 모든 플랫폼에서 실행되는 모든 디바이스에서 액세스할 수 있습니다. 즉, 전 세계 모든 사용자에게 게임을 가져올 수 있습니다.
플레이어에게 놀라운 게임 플레이 경험을 제공하는 것이 중요합니다. 클라우드에서 실행되는 게임 서버는 클라이언트 쪽 업데이트와 독립적이므로 게임 전체에 대해 보다 제어되고 안전한 환경을 제공할 수 있습니다. 클라이언트를 신뢰하지 않고 서버 쪽 게임 논리를 사용하여 클라우드를 통해 게임 플레이 일관성을 달성할 수도 있습니다. 서비스 대 서비스 연결은 보다 통합된 게임 환경을 허용하도록 구성할 수도 있습니다. 예로는 게임 내 구매를 다양한 결제 방법에 연결하고, 다른 게임 네트워크를 통해 브리징하고, Facebook 및 X와 같은 인기 있는 소셜 미디어 포털에 게임 내 업데이트를 공유하는 것이 포함됩니다.
전용 클라우드 서버를 사용하여 대규모 영구 게임 세계를 만들고, 게이머 커뮤니티를 구축하고, 시간이 지남에 따라 게이머 데이터를 수집 및 분석하여 게임 플레이를 개선하고, 게임의 수익 창출 디자인 모델을 최적화할 수도 있습니다.
또한 비동기 멀티 플레이어 메커니즘을 사용하는 소셜 게임과 같이 집중적인 게임 데이터 관리 기능이 필요한 게임은 클라우드 서비스를 사용하여 구현할 수 있습니다.
게임 회사가 클라우드 기술을 사용하는 방법
다른 개발자가 게임에서 클라우드 솔루션을 구현하는 방법을 알아봅니다.
| 개발자 | 설명 | 주요 게임 시나리오 | 더 알아보세요 |
|---|---|---|---|
| 텐센트 게임 | Tencent Games 는 기존 PC 게임을 서비스로 제공할 수 있도록 Azure Service Fabric을 사용하여 혁신적인 솔루션을 개발했습니다. 클라우드 게임 솔루션은 백 엔드에서 워크로드를 마이크로 서비스로 실행하는 '씬 클라이언트 + 풍부한 클라우드' 모델을 사용합니다. |
|
|
| 343 인더스트리 | Halo 5: Guardians Azure Cosmos DB(DocumentDB API를 사용)을 자동 인덱싱 기능으로 인한 속도와 유연성 때문에 선택하여 소셜 게임 플레이 플랫폼으로 Halo: Spartan Companies를 구현했습니다. |
|
|
| 일리리아드 게임 | Illyriad Games는 현대 브라우저가 있는 기기에서 플레이할 수 있는 대규모 멀티플레이어 온라인(MMO) 서사 3D 우주 게임인 Age of Ascent를 개발했습니다. 그래서이 게임은 플러그 인없이 PC, 노트북, 휴대 전화 및 기타 모바일 장치에서 재생할 수 있습니다. 이 게임은 ASP.NET Core, HTML5, WebGL 및 Azure를 사용합니다. |
|
|
| 다음 게임 | Next Games는 AMC의 원작 시리즈를 기반으로 한 워킹 데드: 노 맨스 랜드 비디오 게임의 창작자입니다. 워킹 데드 게임은 Azure를 백 엔드로 사용했습니다. 그것은 했다 1,000,000 오프닝 주말에 그리고 첫 주 이내에, 게임은 되었다 #1 아이폰 & 미국 애플 리 케이 션 스토어에서 아이 패드 무료 애플 리 케이 션, #1 무료 애플 리 케이 션 12 국가, 그리고 #1 무료 게임 13 국가. |
|
|
| Pixel 스쿼드 | Pixel Squad는 Unity 게임 엔진과 Azure를 사용하여 Crime Coast 를 개발했습니다. 크리미널 코스트 는 Android, iOS 및 Windows 플랫폼에서 사용할 수 있는 소셜 전략 게임입니다. Azure Blob Storage, 관리형 Azure Redis Cache, 부하 분산된 IIS VM 배열 및 Microsoft 알림 허브가 게임에 사용되었습니다. 5,000명의 동시 플레이어를 사용하여 스케일링을 관리하고 플레이어 급증을 처리하는 방법을 알아봅니다. |
|
|
기타 링크
- Hitman 및 Azure: 클라우드를 사용하여만 가능한 엘루시브 타깃과 같은 게임 기능 만들기
- Azure를 Hitcents, Game Troopers 및 InnoSpark의 핵심 요소로 활용
클라우드 백 엔드를 디자인하는 방법
생산자와 게임 디자이너가 게임에 필요한 게임 기능과 기능에 대해 논의하는 동안 게임 인프라를 디자인하는 방법을 고려하는 것이 좋습니다. 다양한 디바이스 및 여러 주요 플랫폼에서 게임을 개발하려는 경우 Azure를 게임 백 엔드로 사용할 수 있습니다.
IaaS, PaaS 또는 SaaS 이해
먼저 게임에 가장 적합한 서비스 수준에 대해 생각해야 합니다. 다음 세 가지 서비스의 차이점을 알면 백 엔드를 빌드하는 데 사용할 방법을 결정하는 데 도움이 될 수 있습니다.
IaaS(Infrastructure as a Service)
IaaS(Infrastructure as a Service)는 인터넷을 통해 프로비전되고 관리되는 인스턴트 컴퓨팅 인프라입니다. 수요에 따라 빠르게 확장 및 축소할 수 있는 많은 컴퓨터를 쉽게 사용할 수 있다고 상상해 보세요. IaaS를 사용하면 자체 물리적 서버 및 기타 데이터 센터 인프라를 구입하고 관리하는 비용과 복잡성을 방지할 수 있습니다.
-
PaaS(Platform as a Service)는 IaaS와 비슷하지만 서버, 스토리지 및 네트워킹과 같은 인프라 관리도 포함합니다. 따라서 물리적 서버 및 데이터 센터 인프라를 구입하지 않는 것 외에도 소프트웨어 라이선스, 기본 애플리케이션 인프라, 미들웨어, 개발 도구 또는 기타 리소스를 구입 및 관리할 필요가 없습니다.
-
SaaS(Software as a Service)를 도입하면 사용자가 인터넷을 통해 클라우드 기반 앱에 연결하여 사용할 수 있습니다. 클라우드 서비스 공급자로부터 종량제로 구매하는 완전한 소프트웨어 솔루션을 제공합니다. 일반적인 예로는 전자 메일, 일정 및 Office 도구(예: Microsoft 365 Office 앱)가 있습니다. 조직에 대한 앱 사용을 임대하고 사용자는 일반적으로 웹 브라우저를 사용하여 인터넷을 통해 연결합니다. 모든 기본 인프라, 미들웨어, 앱 소프트웨어 및 앱 데이터는 서비스 공급자의 데이터 센터에 있습니다. 서비스 공급자는 하드웨어 및 소프트웨어를 관리하고 적절한 서비스 계약을 통해 게임 및 데이터의 가용성과 보안을 보장합니다. SaaS를 사용하면 조직이 최소한의 선불 비용으로 앱을 빠르게 시작하고 실행할 수 있습니다.
Azure를 사용하여 게임 인프라 디자인
다음은 Azure 클라우드 제품을 게임에 사용할 수 있는 몇 가지 방법입니다. Azure는 Windows, Linux 및 Ruby, Python, Java 및 PHP와 같은 친숙한 오픈 소스 기술과 함께 작동합니다. 자세한 내용은 Azure for gaming를 참조하세요.
| 요구 사항 | 활동 시나리오 | 제품 제공 | 제품 기능 |
|---|---|---|---|
| 클라우드에서 도메인 호스트 | DNS 쿼리에 효율적으로 응답 | Azure DNS | 고성능 및 가용성으로 도메인 호스트 |
| 로그인, ID 확인 | 게이머 로그인 및 게이머 ID 인증 | Azure Active Directory | 다단계 인증을 사용하여 모든 클라우드 및 온-프레미스 웹 애플리케이션에 싱글 사인온 구축 |
| IaaS(Infrastructure as a Service Model)를 사용하는 게임 | 게임이 클라우드의 가상 머신에서 호스트됩니다. | Azure VM | 기본 제공 가상 네트워킹 및 부하 분산 기능 덕분에 게임 서버를 위한 가상 머신 인스턴스를 1개에서 수천 개로 확장할 수 있습니다. 온-프레미스 시스템과의 하이브리드 일관성도 지원됩니다. |
| PaaS(Platform as a Service Model)를 사용하는 웹 또는 모바일 게임 | 게임은 관리되는 플랫폼에서 호스트됩니다. | Azure 앱 서비스 | 웹 사이트 또는 모바일 게임용 PaaS(미들웨어/개발 도구/BI/DB 관리가 있는 Azure VM을 의미) |
| OS(PaaS)를 보다 효율적으로 제어할 수 있는 고가용성 확장성 n계층 클라우드 게임 | 게임은 관리되는 플랫폼에서 호스트됩니다. | Azure Cloud Service | PaaS는 확장 가능하고 안정적이며 운영이 저렴한 애플리케이션을 지원하도록 설계되었습니다. |
| 성능 및 가용성 향상을 위해 지역 간 부하 분산 | 들어오는 게임 요청을 라우팅합니다. 부하 분산의 첫 번째 수준으로 작동할 수 있습니다. | Azure Traffic Manager | 여러 자동 장애 조치 옵션과 트래픽을 동일하게 또는 가중치를 두어 분산하는 기능을 제공합니다. 온-프레미스 및 클라우드 시스템을 원활하게 결합할 수 있습니다. |
| 게임 데이터에 대한 클라우드 스토리지 | 최신 게임 데이터는 클라우드에 저장되고 클라이언트 디바이스로 전송됩니다. | Azure Blob Storage | 저장할 수 있는 파일의 종류에 제한이 없습니다. 이미지, 오디오, 비디오 등과 같은 많은 양의 구조화되지 않은 데이터를 위한 개체 스토리지입니다. |
| 임시 데이터 스토리지 테이블 | 게임 트랜잭션(게임 상태 변경)이 일시적으로 테이블에 저장됩니다. | Azure Table Storage | 게임 데이터는 게임의 요구에 따라 유연한 스키마에 저장할 수 있습니다. |
| 게임 거래/요청 대기열 | 게임 트랜잭션은 큐 형태로 처리됩니다. | Azure Queue Storage | 큐는 예기치 않은 트래픽 버스트를 흡수하고 게임 중 갑작스런 요청 홍수로 인해 서버가 과부하되는 것을 방지할 수 있습니다. |
| 확장 가능한 관계형 게임 데이터베이스 | 데이터베이스에 대한 게임 내 트랜잭션과 같은 관계형 데이터의 구조적 스토리지 | Azure SQL 데이터베이스 | 서비스로서의 SQL 데이터베이스 (VM에서의 SQL과 비교) |
| 확장 가능한 분산 대기 시간이 짧은 게임 데이터베이스 | 스키마 유연성이 있는 게임 및 플레이어 데이터의 빠른 읽기, 쓰기 및 쿼리 | Azure Cosmos DB | 대기 시간이 짧은 NoSQL 문서 데이터베이스를 서비스로 |
| Azure 서비스에서 자체 데이터 센터 사용 | 게임이 사용자 고유의 데이터 센터에서 검색되어 클라이언트 디바이스로 전송됩니다. | Azure Stack | 조직에서 사용자 고유의 데이터 센터에서 Azure 서비스를 제공하여 더 많은 것을 달성할 수 있도록 지원합니다. |
| 큰 데이터 덩어리 전송 | Azure CDN을 사용하여 가장 가까운 CDN(Content Delivery Network) 팝 위치에서 게임 이미지, 오디오 및 비디오와 같은 큰 파일을 사용자에게 보낼 수 있습니다. | Azure 콘텐츠 전송 네트워크 | 대규모 중앙 집중식 노드의 최신 네트워크 토폴로지에서 빌드된 Azure CDN은 급격한 트래픽 급증 및 부하를 처리하여 속도와 가용성을 크게 향상하여 사용자 환경이 크게 향상되었습니다. |
| 짧은 대기 시간 | 캐싱을 수행하여 더 빠르고 확장 가능한 게임을 빌드하고, 데이터의 제어와 격리를 보장할 수 있습니다. 또한, 게임의 매치메이킹 기능을 개선하는 데 사용할 수 있습니다. | Azure Redis Cache | 빠르고 확장 가능한 Azure 애플리케이션에 전력을 공급하기 위한 높은 처리량과 일관된 짧은 대기 시간의 데이터 액세스. |
| 높은 확장성, 짧은 대기 시간 | 읽기 및 쓰기 대기 시간이 짧은 게임 사용자 수의 변동을 처리합니다. | Azure Service Fabric | 가장 복잡하고 대기 시간이 짧은 데이터 집약적 시나리오를 구동하고 안정적으로 확장하여 한 번에 더 많은 사용자를 처리할 수 있습니다. Service Fabric을 사용하면 상태 비지정 앱에 필요한 대로 별도의 저장소 또는 캐시를 만들지 않고도 게임을 빌드할 수 있습니다. |
| 디바이스에서 초당 수백만 개의 이벤트를 수집하는 기능 | 디바이스에서 초당 수백만 개의 이벤트 기록 | Azure Event Hubs | 게임, 웹 사이트, 앱 및 디바이스에서 클라우드 규모 원격 분석 수집 |
| 게임 데이터에 대한 실시간 처리 | 게이머 데이터의 실시간 분석을 수행하여 게임 플레이 개선 | Azure Stream Analytics | 클라우드에서 실시간 스트림 처리 |
| 예측 게임 플레이 개발 | 게이머 데이터를 기반으로 사용자 지정된 동적 게임 플레이 만들기 | Azure Machine Learning | 예측 분석 솔루션을 쉽게 빌드, 배포 및 공유할 수 있는 완전 관리형 클라우드 서비스 |
| 게임 데이터 수집 및 분석 | 관계형 데이터베이스와 비관계형 데이터베이스에서 대량의 데이터 병렬 처리 | Azure Data Warehouse | 엔터프라이즈급 기능을 갖춘 서비스형 탄력적 데이터 웨어하우스 |
| 사용량 및 보존 기간을 늘리도록 사용자 참여 | 모든 백 엔드에서 모든 플랫폼에 대상 푸시 알림을 보내 관심을 생성하고 특정 게임 작업을 장려합니다. | Azure Notification Hubs |
iOS, Android, Windows, Kindle, Baidu 등 모든 주요 플랫폼에서 수백만 개의 모바일 디바이스에 빠르게 브로드캐스트 푸시합니다. 게임은 클라우드 또는 온-프레미스의 모든 백 엔드에서 호스트할 수 있습니다. |
| 콘텐츠를 보호하면서 미디어 콘텐츠를 로컬 및 전 세계 대상 그룹에 스트리밍 | 모든 장치에서 브로드캐스트 품질 게임 예고편 및 시네마틱 클립을 시청할 수 있습니다. | Azure Media Services | 통합 콘텐츠 배달 네트워크 기능을 사용한 주문형 및 라이브 비디오 스트리밍. 콘텐츠 보호 및 암호화를 포함하여 모든 재생 요구 사항에 대해 하나의 플레이어를 사용합니다. |
| 모바일 앱 개발, 배포 및 베타 테스트 | 모바일 앱을 테스트하고 배포합니다. 앱 성능 및 사용자 환경 관리. | HockeyApp | 앱 배포 및 사용자 피드백 플랫폼과 충돌 보고 및 사용자 메트릭을 통합합니다. Android, Cordova, iOS, OS X, Unity, Windows 및 Xamarin 앱을 지원합니다. 또한 풍부한 분석, 충돌 보고, 푸시 알림, 앱 배포 등을 결합하여 앱에 대한 통합 관리를 제공하는 Visual Studio Mobile Center 을 생각해보세요. |
| 사용량 및 보존을 늘리기 위한 마케팅 캠페인 만들기 | 대상 플레이어에게 푸시 알림을 보내 관심을 생성하고 데이터 분석에 따라 특정 게임 작업을 장려합니다. | 모바일 참여 - 2018년 3월 사용 중지되며 현재 기존 고객에게만 제공됩니다. | 모든 주요 플랫폼(iOS, Android, Windows, Windows Phone)에서 게임 플레이 시간 및 사용자 보존 증가 |
시작 및 개발자 리소스
-
Microsoft for Startups는 신생 기업 성장을 가속화하는 데 도움이 되는 제품, 기술 및 go-to-market 혜택을 제공합니다. 한 가지 이점은 Azure 무료 계정을 얻는 것입니다. 30일 동안 서비스를 탐색할 수 있는 $200 크레딧, 12개월의 인기 있는 무료 서비스 및 항상 무료 25개 이상의 서비스가 있습니다. 자세한 내용은 Azure 체험 계정을 사용하여 시작의 아이디어를 생생하게 가져오기를 참조하세요.
-
Microsoft는 게임을 개발하고 게시하는 데 도움이 되는 ID@Xbox 및 Xbox Live 크리에이터스 프로그램과 같은 여러 개발자 프로그램을 제공합니다.
학습 리소스
- //빌드 2016: CodeLabs — Unity에서 게임 점수를 저장하기 위해 Microsoft Azure App Service 및 Microsoft SQL Azure 백엔드를 사용합니다.
- 빌드 2017: Microsoft Azure를 사용하여 세계적 수준의 게임 환경 제공: Halo, Hitman 및 Walking Dead와 같은 타이틀에서 배운 교훈(비디오)
- GitHub에서 Azure를 사용하여 일반적인 게임 워크로드를 지원하도록 설계된 재사용 가능한 구성 요소, 프로젝트, 서비스 및 모범 사례 집합: Azure에서 게임을 위한 구성 요소
- Azure의 게임 서비스(동영상)
도구 및 기타 유용한 링크
게임 백엔드용 서비스형 소프트웨어
Azure PlayFab 은 현재 매월 8천만 명의 활성 플레이어가 있는 1,200개 이상의 라이브 게임을 지원합니다. 실시간 제어가 있는 전체 스택 LiveOps를 포함하는 완전한 백 엔드 플랫폼입니다.
SDK를 사용하여 모바일, PC 또는 콘솔 게임에 이 솔루션을 통합할 수 있습니다. Android, iOS, Unreal, Unity 및 Windows를 비롯한 모든 인기 게임 엔진 및 플랫폼에 사용할 수 있는 SDK가 있습니다.
인증, 플레이어 데이터 관리, 멀티 플레이어 및 실시간 분석과 같은 게임 서비스를 제공하여 게임이 사용자 기반을 성장시키는 데 도움이 됩니다. 실시간 데이터 파이프라인 및 LiveOps의 기능을 활용하여 사용자 지정된 게임 내 항목, 이벤트 및 프로모션을 통해 사용자를 참여시킬 수 있습니다. A/B 테스트를 수행하고, 보고서를 생성하고, 푸시 알림을 보내는 기능도 있습니다.
지속적으로 새로운 기능을 혁신하고 추가하고 있습니다. 자세한 내용은 Azure PlayFab을 참조하세요. 가격에 대해서는 가격 책정을 참조하세요.