Использование облачных служб для игр UWP
Универсальная платформа Windows (UWP) в Windows 10 предлагает набор API, которые можно использовать для разработки игр на разных устройствах Майкрософт. При разработке игр на разных платформах и устройствах вы можете использовать облачную серверную часть для масштабирования игры в соответствии с требованиями.
Если вы ищете полное облачное серверное решение для игры, см . статью "Программное обеспечение как услуга для серверной части игры".
Общее представление об облачных вычислениях.
Облачные вычисления используют ИТ-ресурсы и приложения по запросу через Интернет для хранения и обработки данных для ваших устройств. Термин "облако " — это метафора для доступности огромных ресурсов там (а не локальных ресурсов), к которым можно получить доступ из неконкретных расположений. Принцип облачных вычислений предлагает новый способ использования ресурсов и программного обеспечения. Пользователи больше не должны платить за полный продукт или ресурсы заранее, но вместо этого могут использовать платформу, программное обеспечение и ресурсы в качестве службы. Поставщики облачных служб часто выставляют счета своим клиентам в соответствии с предложениями по использованию или плану обслуживания.
Зачем использовать облачные службы?
Одним из преимуществ использования облачных служб для игр является то, что вам не нужно инвестировать в физические аппаратные серверы заранее, но только необходимо платить в соответствии с планами использования или обслуживания на более позднем этапе. Это один из способов управления рисками, участвующими в разработке нового названия игры.
Еще одним преимуществом является то, что ваша игра может использовать огромные облачные ресурсы для достижения масштабируемости (эффективно управлять любыми внезапными всплесками числа одновременных игроков, интенсивными вычислениями игры в режиме реального времени или требованиями к данным). Это держит производительность вашей игры стабильной круглосуточно. Кроме того, облачные ресурсы можно получить с любого устройства, работающего на любой платформе в любом месте мира, что означает, что вы можете перенести игру всем глобально.
Предоставление удивительного игрового опыта вашим игрокам важно. Так как игровые серверы, работающие в облаке, не зависят от клиентских обновлений, они могут обеспечить более контролируемые и безопасные среды для вашей игры в целом. Вы также можете достичь согласованности игрового процесса через облако, никогда не доверяя клиенту и имея серверную логику игры. Подключения между службами также можно настроить, чтобы обеспечить более интегрированный игровой интерфейс; Примеры включают связывание покупок в игре с различными способами оплаты, связывание по различным игровым сетям и совместное использование обновлений в игре на популярных порталах социальных сетей, таких как Facebook и X.
Вы также можете использовать выделенные облачные серверы для создания большого постоянного игрового мира, создания сообщества игроков, сбора и анализа данных игроков с течением времени для улучшения игрового процесса и оптимизации модели проектирования монетизации игры.
Кроме того, игры, требующие интенсивного управления игровыми данными, таких как социальные игры с асинхронной многопользовательской механикой, можно реализовать с помощью облачных служб.
Как игровые компании используют облачные технологии
Узнайте, как другие разработчики реализовали облачные решения в своих играх.
разработчик. | Description | Ключевые сценарии игры | Подробнее |
---|---|---|---|
Игры Tencent | В Tencent Games разработано инновационное решение с помощью Azure Service Fabric, позволяющее доставлять традиционные игры pc в качестве службы. В решении cloud Game Solution используется модель "тонкий клиент + богатый облако", выполняющая рабочие нагрузки в качестве микрослужб в серверной части. |
|
|
343 Отрасли | Halo 5: Guardians реализовали Halo: Spartan Companies в качестве своей социальной игровой платформы с помощью Azure Cosmos DB (через API DocumentDB), который был выбран для скорости и гибкости из-за ее возможностей автоматического индексирования. |
|
|
Игры Illyriad | Illyriad Games создал Age of Ascent, массовый многопользовательский онлайн (MMO) эпической 3D космической игры, которая может быть воспроизведена на устройствах с современными браузерами. Таким образом, эту игру можно играть на компьютерах, ноутбуках, мобильных телефонах и других мобильных устройствах без подключаемых модулей. В игре используется ASP.NET Core, HTML5, WebGL и Azure. |
|
|
Следующие игры | Следующие игры является создателем ходячих мертвецов: No Man's Land видеоигра, которая основана на оригинальной серии AMC. Игра Walking Dead использовала Azure в качестве серверной части. Он имел 1000 000 скачивание в первые выходные и в течение первой недели, игра стала #1 iPhone и iPad Free App в Сша App Store, #1 Free App Store в 12 странах, и #1 Бесплатная игра в 13 странах. |
|
|
Отряд пикселей | Компания Pixel Squad разработала Криминальный берег с помощью игрового двигателя Unity и Azure. Crime Coast — это игра социальной стратегии, доступная на платформе Android, iOS и Windows. Хранилище BLOB-объектов Azure, управляемый кэш Redis Azure, массив виртуальных машин IIS с балансировкой нагрузки и центр уведомлений Майкрософт использовались в своей игре. Узнайте, как они управляют масштабированием и обрабатывают всплеск игроков с 5000 одновременных игроков. |
|
|
Другие ссылки
- Hitman и Azure: создание функций игры, таких как неуловимый целевой объект, которые доступны только с помощью облака
- Azure в качестве секретного соуса для Hitcents, Game Troopers и InnoSpark
Разработка серверной части облака
В то время как производители и дизайнеры игр обсуждают, какие игровые функции и функции необходимы в игре, хорошо начать рассматривать, как вы хотите разработать инфраструктуру игры. Azure можно использовать в качестве серверной части игры, если вы хотите разрабатывать игры для различных устройств и на разных основных платформах.
Общие сведения об IaaS, PaaS или SaaS
Во-первых, необходимо подумать о уровне обслуживания, который лучше всего подходит для вашей игры. Зная различия в следующих трех службах, вы можете определить подход, который вы хотите принять в создании серверной части.
Инфраструктура как услуга (IaaS)
Инфраструктура как услуга (IaaS) — это виртуальная инфраструктура вычислений, подготовленная и управляемая через Интернет. Представьте себе возможность быстрого увеличения и уменьшения масштаба многих компьютеров в зависимости от спроса. IaaS помогает избежать затрат и сложности покупки и управления собственными физическими серверами и другой инфраструктурой центра обработки данных.
-
Платформа как услуга (PaaS) похожа на IaaS, но также включает управление инфраструктурой, например серверами, хранилищем и сетями. Поэтому в верхней части не покупать физические серверы и инфраструктуру центра обработки данных, вам также не нужно покупать лицензии на программное обеспечение, базовую инфраструктуру приложений, ПО промежуточного слоя, средства разработки или другие ресурсы.
Программное обеспечение как услуга (SaaS)
Программное обеспечение как услуга (SaaS) позволяет пользователям подключаться к облачным приложениям через Интернет и использовать их. Он предоставляет полное программное решение, которое вы приобретаете на основе оплаты по мере использования у поставщика облачных служб. Распространенными примерами являются электронная почта, календарь и инструменты office (например, microsoft 365 Приложение Office). Вы арендуете использование приложения для вашей организации, и ваши пользователи подключаются к нему через Интернет, обычно с помощью веб-браузера. Все базовые инфраструктуры, по промежуточного слоя, программное обеспечение приложений и данные приложений находятся в центре обработки данных поставщика услуг. Поставщик услуг управляет оборудованием и программным обеспечением, а также с соответствующим соглашением об обслуживании обеспечит доступность и безопасность игры и ваши данные. SaaS позволяет вашей организации быстро запустить приложение с минимальными предварительными расходами.
Разработка инфраструктуры игр с помощью Azure
Ниже приведены некоторые способы использования облачных предложений Azure для игры. Azure работает с Windows, Linux и знакомыми технологиями открытый код, такими как Ruby, Python, Java и PHP. Дополнительные сведения см. в Azure для игр.
Требования | Сценарии действий | Предложение продукта | Возможности продукта |
---|---|---|---|
Размещение домена в облаке | Эффективное реагирование на запросы DNS | Azure DNS | Размещение домена с высокой производительностью и доступностью |
Вход, проверка подлинности | Вход в gamer и удостоверение игрока проходит проверку подлинности. | Azure Active Directory | Единый вход в любое облачное и локальное веб-приложение с многофакторной проверкой подлинности |
Игра с использованием инфраструктуры в качестве модели обслуживания (IaaS) | Игра размещена на виртуальных машинах в облаке | Виртуальные машины Azure | Масштабирование от 1 до тысяч экземпляров виртуальных машин в качестве игровых серверов с встроенной виртуальной сетью и балансировкой нагрузки; гибридная согласованность с локальными системами |
Веб-игры или мобильные игры, использующие платформу как модель обслуживания (PaaS) | Игра размещена на управляемой платформе | Служба приложений Azure | PaaS для веб-сайтов или мобильных игр (это означает, что виртуальные машины Azure с по промежуточного слоя или средства разработки/ управление бизнес-аналитикой и базой данных) |
Высокодоступная масштабируемая облачная игра n-уровня с большим контролем над ОС (PaaS) | Игра размещена на управляемой платформе | Облачная служба Azure | PaaS, предназначенная для поддержки масштабируемых, надежных и дешевых приложений для работы |
Балансировка нагрузки между регионами для повышения производительности и доступности | Маршрутизирует входящие игровые запросы. Может выступать в качестве первого уровня балансировки нагрузки. | Диспетчер трафика Azure | Предлагает несколько вариантов автоматической отработки отказа и возможность распределения трафика одинаково или с весовым значением. Может легко сочетать локальные и облачные системы. |
Облачное хранилище для игровых данных | Последние игровые данные хранятся в облаке и отправляются на клиентские устройства | Хранилище BLOB-объектов Azure | Нет ограничений на типы файлов, которые могут храниться; хранилище объектов для больших объемов неструктурированных данных, таких как изображения, аудио, видео и многое другое. |
Временные таблицы хранилища данных | Игровые транзакции (изменения в игровых состояниях) хранятся в таблицах временно | Хранилище таблиц Azure | Данные игры можно хранить в гибкой схеме в соответствии с потребностями игры. |
Транзакции и запросы игр очереди | Игровые транзакции обрабатываются в виде очереди | Хранилище очередей Azure | Очереди поглощают непредвиденные всплески трафика и могут предотвратить перегрузку серверов внезапным наводнением запросов во время игры |
Масштабируемая реляционная база данных игры | Структурированное хранилище реляционных данных, таких как транзакции в игре, в базу данных | База данных SQL Azure | База данных SQL как услуга (сравнение с SQL на виртуальной машине) |
Масштабируемая распределенная база данных игр с низкой задержкой | Быстрое чтение, запись и запрос данных игры и игрока с гибкостью схемы | Azure Cosmos DB | Низкая задержка базы данных документов NoSQL в качестве службы |
Использование собственного центра обработки данных со службами Azure | Игра извлекается из собственного центра обработки данных и отправляется на клиентские устройства. | Azure Stack | Позволяет вашей организации доставлять службы Azure из собственного центра обработки данных, чтобы помочь вам добиться большего. |
Передача больших блоков данных | Большие файлы, такие как игровые изображения, аудио и видео, можно отправлять пользователям из ближайшего всплывающего расположения сеть доставки содержимого (CDN) с помощью Azure CDN | Сеть доставки содержимого Azure | Созданная на основе современной топологии сети крупных централизованных узлов, Azure CDN обрабатывает внезапные пики трафика и тяжелые нагрузки для резкого увеличения скорости и доступности, что приводит к значительному улучшению взаимодействия с пользователем. |
Низкая задержка | Выполните кэширование, чтобы создавать быстрые, масштабируемые игры с большим контролем и гарантированной изоляцией данных; также можно использовать для улучшения функции сопоставления для игры. | Кэш Redis для Azure | Высокая производительность, доступ к данным с малым временем задержки для создания быстрых и масштабируемых приложений Azure |
Высокая масштабируемость, низкая задержка | Обрабатывает колебания количества пользователей игры с низкой задержкой чтения и записи | Azure Service Fabric | Возможность использовать самые сложные, низкой задержки, интенсивные данные сценарии и надежно масштабировать для обработки большего объема пользователей одновременно. Service Fabric позволяет создавать игры без необходимости создавать отдельное хранилище или кэш, как это необходимо для приложений без отслеживания состояния. |
Возможность собирать миллионы событий в секунду с устройств | Журнал миллионов событий в секунду с устройств | Центры событий Azure | Прием данных телеметрии в облаке из игр, веб-сайтов, приложений и устройств |
Обработка игровых данных в режиме реального времени | Анализ данных игрока в режиме реального времени для улучшения игрового процесса | Azure Stream Analytics | Потоковая обработка в реальном времени в облаке |
Разработка прогнозного игрового процесса | Создание настраиваемого динамического игрового процесса на основе данных игрока | Машинное обучение Azure | Полностью управляемая облачная служба, которая позволяет легко создавать и развертывать решения прогнозной аналитики, а также предоставлять общий доступ к ним |
Сбор и анализ данных игры | Массовая параллельная обработка данных из реляционных и нереляционных баз данных | хранилище данных Azure; | Эластичное хранилище данных как услуга с функциями класса Enterprise |
Привлечение пользователей к увеличению использования и хранения | Отправка целевых push-уведомлений на любую платформу из любой внутренней части, чтобы создать интерес и поощрять определенные игровые действия | центры уведомлений Azure | Быстрая широковещательная передача для достижения миллионов мобильных устройств на всех основных платформах — iOS, Android, Windows, Kindle, Baidu. Ваша игра может размещаться в любой серверной части — облаке или локальной среде. |
Потоковая передача содержимого мультимедиа в локальные и мировые аудитории при защите содержимого | Трансляция качественных игровых трейлеров и кинематографических клипов можно смотреть со всех устройств | Службы мультимедиа Azure | Потоковая передача видео по запросу и потоковая трансляция с интегрированными возможностями сеть доставки содержимого. Используйте один проигрыватель для всех потребностей воспроизведения, включая защиту содержимого и шифрование. |
Разрабатывайте, развертывайте и проводите тестирование мобильных бета-приложений | Тестирование и распространение мобильного приложения. Управление производительностью приложений и взаимодействием с пользователем. | HockeyApp | Интегрирует отчеты о сбоях и метрики пользователей с распределением приложений и платформой отзывов пользователей. Поддерживает приложения Android, Cordova, iOS, OS X, Unity, Windows и Xamarin. Кроме того, рассмотрим Visual Studio Mobile Center — управление миссиями для приложений, которые объединяют широкие возможности аналитики, отчеты о сбоях, push-уведомления, распространение приложений и многое другое. |
Создание маркетинговых кампаний для повышения использования и хранения | Отправка push-уведомлений целевым игрокам для создания интереса и поощрения конкретных игровых действий в соответствии с анализом данных | Мобильное взаимодействие — будет прекращено в марте 2018 г. и в настоящее время доступно только существующим клиентам | Увеличение времени игрового процесса и хранения пользователей на всех основных платформах — iOS, Android, Windows, Windows Phone |
Ресурсы для запуска и разработчика
-
Корпорация Майкрософт для стартапов предоставляет преимущества продуктов, технических и переходных на рынок, чтобы ускорить рост стартапов. Одно из преимуществ включает получение бесплатной учетной записи Azure. У вас есть $ 200 кредит для изучения услуг в течение 30 дней, 12 месяцев популярных бесплатных услуг, и всегда бесплатных 25+ служб. Дополнительные сведения см. в статье "Внедрение идей запуска в жизнь с помощью бесплатной учетной записи Azure".
-
Корпорация Майкрософт предлагает несколько программ разработчиков, таких как ID@Xbox и Xbox Live Creators Program, чтобы помочь вам разрабатывать и публиковать игры.
Учебные материалы
- сборка 2016: CodeLabs — использование службы Microsoft приложение Azure и серверной части Microsoft SQL Azure для сохранения оценки игры в Unity
- сборка 2017: предоставление мирового класса игры с помощью Microsoft Azure: уроки, извлеченные из названий, таких как Halo, Hitman и Walking Dead (видео)
- Повторно используемый набор стандартных блоков, проектов, служб и рекомендаций, предназначенных для поддержки распространенных игровых рабочих нагрузок с помощью Azure на GitHub: стандартные блоки для игр в Azure
- Игровые службы в Azure (видео)
Инструменты и другие полезные ссылки
- Форумы MSDN — платформа Azure
- Средство нагрузочного тестирования на основе облака
- Пакеты SDK и средства командной строки
Программное обеспечение как услуга для серверной части игры
Azure PlayFab в настоящее время поддерживает более 1200 динамических игр с 80 миллионов ежемесячных активных игроков. Это полная серверная платформа, которая включает полный стек LiveOps с элементом управления в режиме реального времени.
Это решение можно интегрировать в мобильные, пк или консольные игры с помощью пакетов SDK. Существуют пакеты SDK для всех популярных игровых двигателей и платформ, включая Android, iOS, Unreal, Unity и Windows.
Она предлагает такие игровые службы, как проверка подлинности, управление данными игрока, многопользовательская и аналитика в режиме реального времени, чтобы помочь вашей игре увеличить свою базу пользователей. Используйте возможности конвейера данных в режиме реального времени и LiveOps для привлечения пользователей к настраиваемым игровым элементам, событиям и рекламным акциям. Вы также можете проводить тестирование A/B, создавать отчеты, отправлять push-уведомления и многое другое.
Мы постоянно обновляем и добавляем новые функции. Дополнительные сведения см. в статье Azure PlayFab и цены см. в разделе "Цены".