Поделиться через


Использование облачных служб для игр UWP

Универсальная платформа Windows (UWP) в Windows 10 предлагает набор API, которые можно использовать для разработки игр на разных устройствах Майкрософт. При разработке игр на разных платформах и устройствах вы можете использовать облачную серверную часть для масштабирования игры в соответствии с требованиями.

Если вы ищете полное облачное серверное решение для игры, см. статью "Программное обеспечение как услуга для серверной части игры".

Общее представление об облачных вычислениях.

Облачные вычисления используют ИТ-ресурсы и приложения по запросу через Интернет для хранения и обработки данных для ваших устройств. Термин облако — это метафора доступности огромных ресурсов в удаленном доступе (а не локальных ресурсов), доступ к которым можно получить из неопределенных местоположений. Принцип облачных вычислений предлагает новый способ использования ресурсов и программного обеспечения. Пользователи больше не должны платить за полный продукт или ресурсы заранее, но вместо этого могут использовать платформу, программное обеспечение и ресурсы в качестве службы. Поставщики облачных служб часто выставляют счета своим клиентам в соответствии с предложениями по использованию или плану обслуживания.

Зачем использовать облачные службы?

Одним из преимуществ использования облачных служб для игр является то, что вам не нужно инвестировать в физические аппаратные серверы заранее, но только необходимо платить в соответствии с планами использования или обслуживания на более позднем этапе. Это один из способов управления рисками, участвующими в разработке нового названия игры.

Еще одним преимуществом является то, что ваша игра может использовать огромные облачные ресурсы для достижения масштабируемости (эффективно управлять любыми внезапными всплесками числа одновременных игроков, интенсивными вычислениями игры в режиме реального времени или требованиями к данным). Это держит производительность вашей игры стабильной круглосуточно. Кроме того, облачные ресурсы можно получить с любого устройства, работающего на любой платформе в любом месте мира, что означает, что вы можете предоставить вашу игру всем людям по всему миру.

Предоставление удивительного игрового опыта вашим игрокам важно. Так как игровые серверы, работающие в облаке, не зависят от клиентских обновлений, они могут обеспечить более контролируемые и безопасные среды для вашей игры в целом. Вы также можете достичь согласованности игрового процесса через облако, никогда не доверяя клиенту и имея серверную логику игры. Подключения между службами также можно настроить, чтобы обеспечить более интегрированный игровой интерфейс; Примеры включают связывание покупок в игре с различными способами оплаты, связывание по различным игровым сетям и совместное использование обновлений в игре на популярных порталах социальных сетей, таких как Facebook и X.

Вы также можете использовать выделенные облачные серверы для создания большого постоянного игрового мира, создания сообщества игроков, сбора и анализа данных игроков с течением времени для улучшения игрового процесса и оптимизации модели проектирования монетизации игры.

Кроме того, игры, требующие интенсивного управления игровыми данными, таких как социальные игры с асинхронной многопользовательской механикой, можно реализовать с помощью облачных служб.

Как игровые компании используют облачные технологии

Узнайте, как другие разработчики реализовали облачные решения в своих играх.

разработчик. Описание Ключевые сценарии игры Подробнее
Игры Tencent В Tencent Games разработано инновационное решение с помощью Azure Service Fabric, позволяющее доставлять традиционные игры pc в качестве службы. В их облачном решении для игр используется модель "тонкий клиент + облако с богатыми функциями", которая исполняет задачи в виде микросервисов на серверной стороне.
  • Традиционные игры пк предоставляются в виде облачных игр пользователям по всему миру
  • Оптимизированный процесс доставки игры
  • Игровые функции, изолированные как микрослужбы для уменьшения сложности, уменьшения количества повторений рабочих нагрузок из-за зависимостей и возможности самостоятельного обновления новых функций
  • Небольшие загрузки пакетов установки для воспроизведения нового игрового содержимого (уменьшенный размер пакета от ГБ до МБ)
  • Сокращение затрат на обслуживание
343 Отрасли Halo 5: Guardians реализовали Halo : Spartan Companies в качестве своей социальной игровой платформы с помощью Azure Cosmos DB (через API DocumentDB), который был выбран для скорости и гибкости из-за ее возможностей автоматического индексирования.
  • Масштабируемый уровень данных для обработки создания и управления группами для многопользовательского игрового процесса
  • Интеграция игр и социальных сетей
  • Запросы данных в режиме реального времени с помощью нескольких атрибутов
  • Синхронизация достижений и статистики игрового процесса
Иллириад Игры Illyriad Games создала Age of Ascent, массовую многопользовательскую онлайн (MMO) эпическую трехмерную космическую игру, которая может воспроизводиться на устройствах, которые имеют современные браузеры. Таким образом, эту игру можно играть на компьютерах, ноутбуках, мобильных телефонах и других мобильных устройствах без подключаемых модулей. В игре используется ASP.NET Core, HTML5, WebGL и Azure.
  • Кроссплатформенная игра на основе браузера
  • Единый большой постоянный открытый мир
  • Обрабатывает интенсивные вычисления игрового процесса в режиме реального времени
  • Изменяется в зависимости от числа игроков
следующие игры Next Games — создатель видеоигры The Walking Dead: No Man's Land, основанной на оригинальной серии AMC. Игра Walking Dead использовала Azure в качестве серверной части. Он имел 1000000 скачивание в первые выходные и в течение первой недели, игра стала #1 iPhone & iPad бесплатного приложения в Магазине приложений США, #1 Free App Store в 12 странах и #1 Бесплатная игра в 13 странах.
  • Кроссплатформенная платформа
  • Пошаговый многопользовательский режим
  • Эластично масштабируемая производительность
  • Защита от мошенничества игроков
  • Динамическая доставка содержимого
Отряд Пикселей Компания Pixel Squad разработала Криминальный берег с помощью игрового двигателя Unity и Azure. Crime Coast — это социальная стратегическая игра, доступная для платформ Android, iOS и Windows. Хранилище объектов Azure Blob, управляемый кэш Azure Redis, массив виртуальных машин IIS с балансировкой нагрузки и Центр уведомлений Microsoft использовались в своей игре. Узнайте, как они управляют масштабированием системы и справляются со всплеском до 5000 одновременных игроков.
  • Кроссплатформенная платформа
  • Многопользовательская онлайн-игра
  • Масштабирование с количеством игроков
  • Как игра "Побережье преступности" MMO использовала облачные службы Azure

Как спроектировать облачную серверную часть

В то время как производители и дизайнеры игр обсуждают, какие игровые функции и функции необходимы в игре, хорошо начать рассматривать, как вы хотите разработать инфраструктуру игры. Azure можно использовать в качестве серверной части игры, если вы хотите разрабатывать игры для различных устройств и на разных основных платформах.

Общие сведения об IaaS, PaaS или SaaS

Во-первых, необходимо подумать о уровне обслуживания, который лучше всего подходит для вашей игры. Зная различия в следующих трех службах, вы можете определить подход, который вы хотите принять в создании серверной части.

  • Инфраструктура как услуга (IaaS)

    Инфраструктура как услуга (IaaS) — это виртуальная инфраструктура вычислений, подготовленная и управляемая через Интернет. Представьте себе возможность быстро наращивать и сокращать масштаб множества готовых машин в зависимости от спроса. IaaS помогает избежать затрат и сложности покупки и управления собственными физическими серверами и другой инфраструктурой центра обработки данных.

  • Платформа как услуга (PaaS)

    Платформа как услуга (PaaS) похожа на IaaS, но также включает управление инфраструктурой, например серверами, хранилищем и сетями. Кроме отказа от покупки физических серверов и инфраструктуры центра обработки данных, вам также не нужно приобретать и управлять лицензиями на программное обеспечение, базовую инфраструктуру приложений, ПО промежуточного слоя, средствами разработки или другими ресурсами.

  • Программное обеспечение как услуга (SaaS)

    Программное обеспечение как услуга (SaaS) позволяет пользователям подключаться к облачным приложениям через Интернет и использовать их. Он предоставляет полное программное решение, которое вы приобретаете на основе оплаты по мере использования у поставщика облачных служб. Распространенными примерами являются электронная почта, календарь и office tools (например, приложения Microsoft 365 Office). Вы арендуете приложение для вашей организации, и пользователи подключаются к нему через Интернет, как правило, с веб-браузером. Вся базовая инфраструктура, промежуточное ПО, программное обеспечение приложений и данные приложений находятся в центре обработки данных поставщика услуг. Поставщик услуг управляет оборудованием и программным обеспечением, а также с соответствующим соглашением об обслуживании обеспечит доступность и безопасность игры и ваши данные. SaaS позволяет вашей организации быстро начать использование приложения с минимальными предварительными затратами.

Разработка инфраструктуры игр с помощью Azure

Ниже приведены некоторые способы использования облачных предложений Azure для игры. Azure работает с Windows, Linux и знакомыми технологиями с открытым исходным кодом, такими как Ruby, Python, Java и PHP. Для получения дополнительной информации см. Azure для игр.

Требования Сценарии действий Предложение продукта Возможности продукта
Размещение домена в облаке Эффективное реагирование на запросы DNS Azure DNS Размещение домена с высокой производительностью и доступностью
Вход, проверка подлинности Игрок входит в систему, и его идентификация подтверждается. 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 PlayFab в настоящее время поддерживает более 1200 динамических игр с 80 миллионов ежемесячных активных игроков. Это полная серверная платформа, которая включает полный стек LiveOps с элементом управления в режиме реального времени.

Это решение можно интегрировать в мобильные, пк или консольные игры с помощью пакетов SDK. Существуют пакеты SDK для всех популярных игровых двигателей и платформ, включая Android, iOS, Unreal, Unity и Windows.

Она предлагает такие игровые службы, как проверка подлинности, управление данными игрока, многопользовательская и аналитика в режиме реального времени, чтобы помочь вашей игре увеличить свою базу пользователей. Используйте возможности конвейера данных в режиме реального времени и LiveOps для привлечения пользователей к настраиваемым игровым элементам, событиям и рекламным акциям. Вы также можете проводить тестирование A/B, создавать отчеты, отправлять push-уведомления и многое другое.

Мы постоянно обновляем и добавляем новые функции. Дополнительные сведения см. в разделе Azure PlayFab, а информацию о ценах см. в Цены.