将云服务用于 UWP 游戏

Windows 10 中的通用 Windows 平台(UWP)提供了一组 API,可用于跨 Microsoft 设备开发游戏。 跨平台和设备开发游戏时,可以使用云后端来帮助根据需求缩放游戏。

如果要查找游戏的完整云后端解决方案,请参阅 游戏后端的软件即服务

什么是云计算?

云计算通过 Internet 按需使用 IT 资源和应用程序来存储和处理设备的数据。 术语 是一个隐喻,它表示大量资源的可用性,这些资源可以从不特定的地点(而非本地)访问。 云计算原则提供了一种资源与软件可供使用的新方式。 用户不再需要提前支付完整的产品或资源费用,而是能够以服务的形式使用平台、软件和资源。 云提供商通常根据使用量或服务计划为其客户计费。

为何使用云服务?

将云服务用于游戏的一个优点是,无需提前投资物理硬件服务器,但只需在以后的阶段根据使用情况或服务计划付费。 这是帮助管理开发新游戏游戏所涉及的风险的一种方法。

另一个优点是,你的游戏可以利用庞大的云资源来实现可伸缩性(有效地管理并发玩家数量、激烈的实时游戏计算或数据要求的任何突然高峰)。 这样,游戏的性能会全天候保持稳定。 此外,可以从世界上任何地方的任何平台上运行的任何设备访问云资源,这意味着你可以将游戏引入全球所有人。

为玩家提供惊人的游戏体验非常重要。 由于在云中运行的游戏服务器独立于客户端更新,因此它们可以为你的游戏提供更受控和安全的环境。 还可以通过云实现游戏一致性,方法是永远不信任客户端并具有服务器端游戏逻辑。 还可以将服务到服务连接配置为允许更集成的游戏体验;示例包括将游戏内购买链接到各种付款方式、在不同游戏网络上桥接,以及将游戏内更新共享到常用的社交媒体门户(如 Facebook 和 X)。

还可以使用专用云服务器创建大型持久游戏世界,构建玩家社区,随着时间的推移收集和分析玩家数据,以改善游戏,并优化游戏的盈利设计模型。

此外,可以使用云服务实现需要密集的游戏数据管理功能,例如具有异步多人游戏机制的社会游戏。

游戏公司如何使用云技术

了解其他开发人员在其游戏中如何实现云解决方案。

开发 人员 DESCRIPTION 关键游戏场景 了解详细信息
腾讯游戏 腾讯游戏 使用 Azure Service Fabric 开发了一种创新解决方案,使传统电脑游戏能够以服务的形式交付。 他们的云游戏解决方案采用“轻客户端 + 丰富服务云”模型,在后端将工作负荷作为微服务运行。
  • 传统电脑游戏作为云游戏交付给世界各地的用户
  • 优化的游戏交付过程
  • 将游戏功能以微服务的形式隔离,以减少复杂性和降低因依赖关系导致的工作负载重复,同时能够独立升级新功能。
  • 小型安装包下载以播放最新的游戏内容(将包大小从 GB 减少到 MB)
  • 降低维护成本
343 行业 Halo 5:守护者 实施了 Halo:Spartan Companies 作为其社交游戏平台,使用的是 Azure Cosmos DB(通过 DocumentDB API)。因为其自动索引功能,该数据库以其速度和灵活性而被选择。
  • 可缩放的数据层,用于处理多人游戏的组创建/管理
  • 游戏和社交媒体集成
  • 通过多个属性实时查询数据
  • 同步游戏成就和统计信息
伊尔利里亚德游戏公司 Illyriad Games 创建了 Ascent 星纪,这是一款大型多人在线(MMO)史诗级 3D 太空游戏,可在使用现代浏览器的设备上游玩。 因此,此游戏可以在电脑、笔记本电脑、移动电话和其他没有插件的移动设备上播放。该游戏使用 ASP.NET Core、HTML5、WebGL 和 Azure。
  • 基于浏览器的跨平台游戏
  • 单个大型持久开放世界
  • 处理高强度的实时游戏计算
  • 随玩家数量变化调整
下一场比赛 Next Games 是 行尸走肉:没有人的土地 视频游戏的开发者,该游戏基于 AMC 的原创系列。 行尸走肉游戏使用 Azure 作为后端。 它在开幕周末有1000,000次下载,在第一周内,该游戏成为美国应用商店的 #1 iPhone 和 iPad 免费应用,#1免费应用在12个国家/地区,#1免费游戏在13个国家/ 地区。
  • 跨平台
  • 回合制多人游戏
  • 弹性扩展性能
  • 玩家欺诈保护
  • 动态内容传送
Pixel Squad Pixel Squad 使用 Unity 游戏引擎和 Azure 开发 犯罪海岸犯罪海岸 是 Android、iOS 和 Windows 平台上可用的社交策略游戏。 Azure Blob 存储、Azure 托管 Redis 缓存、负载均衡的 IIS VM 数组,以及 Microsoft 通知中心被用于他们的游戏中。 了解他们如何管理系统扩展,并应对5000名玩家同时在线时的激增。
  • 跨平台
  • 多人在线游戏
  • 随玩家人数调整规模
  • 犯罪海岸 MMO 游戏如何使用 Azure 云服务

如何设计云后端

虽然制作者和游戏设计师正在讨论游戏中需要哪些游戏特性和功能,但最好开始考虑如何设计游戏基础结构。 若要为各种设备和不同主要平台开发游戏,可以使用 Azure 作为游戏后端。

了解 IaaS、PaaS 或 SaaS

首先,需要考虑最适合你的游戏的服务级别。 了解以下三个服务之间的差异有助于确定在生成后端时要采用的方法。

  • 基础结构即服务 (IaaS)

    基础结构即服务(IaaS)是一种即时计算基础结构,通过 Internet 进行预配和管理。 假设有许多设备可以根据需求快速扩容和缩容。 IaaS 可帮助你避免购买和管理自己的物理服务器和其他数据中心基础结构的成本和复杂性。

  • 平台即服务 (PaaS)

    平台即服务(PaaS)类似于 IaaS,但它还包括管理基础结构,如服务器、存储和网络。 因此,除了不购买物理服务器和数据中心基础结构之外,也不需要购买和管理软件许可证、底层应用程序基础结构、中间件、开发工具或其他资源。

  • 软件即服务 (SaaS)

    软件即服务 (SaaS) 让用户可以通过 Internet 连接并使用基于云的应用。 它提供从云服务提供商以即用即付方式购买的完整软件解决方案。 常见示例包括电子邮件、日历和 Office 工具(如 Microsoft 365 Office 应用)。 你为组织租用了应用程序的使用权,而且你的用户通常通过互联网使用网页浏览器连接到它。 所有底层基础结构、中间件、应用软件和应用数据都位于服务提供商的数据中心。 服务提供商管理硬件和软件以及适当的服务协议,确保游戏和数据的可用性和安全性。 SaaS 允许你的组织以最少的前期成本快速启动和运行应用。

使用 Azure 设计游戏基础结构

以下是 Azure 云产品/服务可用于游戏的一些方法。 Azure 适用于 Windows、Linux 和熟悉的开源技术,例如 Ruby、Python、Java 和 PHP。 有关详细信息,请参阅 Azure 游戏

要求 活动场景 产品提供 产品功能
在云中托管域 高效响应 DNS 查询 Azure DNS 提供托管服务,使您的域名具有高性能和可用性
登录、身份验证 玩家登录并身份已通过验证 Azure Active Directory 使用单点登录和多重身份验证来访问任何云和本地 Web 应用程序
使用基础结构即服务模型(IaaS)的游戏 游戏托管在云中的虚拟机上 Azure VM 以具有内置虚拟网络和负载均衡的游戏服务器的形式,从 1 个虚拟机实例扩展到数千个虚拟机实例:与本地系统的混合一致性
使用平台即服务模型(PaaS)的 Web 或移动游戏 游戏托管在管理平台上 Azure 应用程序服务 适用于网站或移动游戏的 PaaS(这意味着具有中间件/开发工具/BI/DB 管理的 Azure VM)
高度可用且可扩展的多层架构云游戏,能够对操作系统进行更多控制(PaaS) 游戏托管在管理平台上 Azure 云服务 PaaS 旨在支持可缩放、可靠且运行成本低廉的应用程序
跨区域负载均衡以提高性能和可用性 路由传入的游戏请求。 可以充当负载均衡的第一级。 Azure 流量管理器 提供多个自动化故障转移选项,并能够平等分配或按权重值分配流量。 可以无缝合并本地和云系统。
游戏数据的云存储 最新的游戏数据存储在云中,并发送到客户端设备 Azure Blob 存储服务 对可存储的文件类型没有限制;用于大量非结构化数据(如图像、音频、视频等)的对象存储。
临时数据存储表 游戏交易(游戏状态更改)暂时存储在数据表中。 Azure 表存储 根据游戏的需求,游戏数据可以存储在灵活的架构中
排队处理游戏交易/请求 游戏交易以队列的形式进行处理 Azure 队列存储 队列会吸收突如其来的流量激增,并可以防止服务器在游戏期间被请求的骤增淹没。
可缩放的关系游戏数据库 将关系数据(如游戏内事务)结构化存储到数据库 Azure SQL 数据库 SQL 数据库即服务(与 VM 上的 SQL 进行比较
可缩放的分布式低延迟游戏数据库 快速读取、写入和查询具有架构灵活性的游戏和玩家数据 Azure Cosmos DB 低延迟的NoSQL文档数据库服务化
将自己的数据中心与 Azure 服务配合使用 游戏从你自己的数据中心检索并发送到客户端设备 Azure Stack 使组织能够从自己的数据中心提供 Azure 服务,以帮助实现更多目标
大型数据区块传输 可以使用 Azure CDN 从最近的内容分发网络(CDN)弹出位置向用户发送大型文件,例如游戏图像、音频和视频 Azure 内容分发网络 Azure CDN 基于大型集中式节点的新式网络拓扑构建,可处理突发流量高峰和大量负载,以显著提高速度和可用性,从而显著改善用户体验
低延迟 实施缓存以构建具有更大控制权和数据隔离性有保障的快速、可扩展的游戏,也可用于改进游戏的匹配功能。 Azure Redis 缓存 高吞吐量和一致的低延迟数据访问,助力快速、可扩展的 Azure 应用程序运行
高可伸缩性、低延迟 处理低延迟读取和写入的游戏用户数的波动 Azure Service Fabric 能够支持最复杂、低延迟、数据密集型方案并可靠地进行缩放,以便一次处理更多用户。 Service Fabric 使您能够在无需为无状态应用程序创建单独的存储或缓存的情况下开发游戏。
能够从设备每秒收集数百万个事件 从设备每秒记录数百万个事件 Azure 事件中心 从游戏、网站、应用和设备中采集云规模的遥测数据
游戏数据的实时处理 对玩家数据执行实时分析以改进游戏 Azure 流分析服务 云中的实时流处理
开发预测性游戏 基于玩家数据创建自定义动态游戏 Azure 机器学习 一种完全托管的云服务,可用于轻松生成、部署和共享预测分析解决方案
收集和分析游戏数据 从关系数据库和非关系数据库大规模并行处理数据 Azure 数据仓库 以企业级功能为特点的弹性数据仓库云服务
吸引用户以提高使用率和留存率 从任何后端将目标推送通知发送到任何平台,以激发兴趣并鼓励特定的游戏操作。 Azure 通知中心 快速广播推送,以覆盖所有主要平台上的数百万台移动设备,包括 iOS、Android、Windows、Kindle、百度。 游戏可以托管在任何后端(云或本地)。
将媒体内容流式传输到本地和全球受众,同时保护内容 高质量的游戏预告片和电影剪辑可以在所有设备上观看 Azure 媒体服务 具有集成内容分发网络功能的按需和实时视频流。 将一个播放器用于所有播放需求,包括内容保护和加密。
开发、分发和测试移动应用程序 测试和分发移动应用。 应用性能和用户体验管理。 HockeyApp 将崩溃报告和用户指标与应用分发和用户反馈平台集成。 支持 Android、Cordova、iOS、OS X、Unity、Windows 和 Xamarin 应用。 此外,请考虑 Visual Studio Mobile Center —— 应用的任务控制中心,提供丰富的分析、崩溃报告、推送通知、应用分发等功能。
创建市场营销活动以提高使用率和用户留存率 向目标玩家发送推送通知,以激发兴趣,并根据数据分析鼓励特定游戏动作。 移动参与 - 将于 2018 年 3 月停用,目前仅适用于现有客户 在所有主要平台上增加游戏时间和用户保留期 - iOS、Android、Windows、Windows Phone

初创企业和开发人员资源

学习资源

游戏后端的软件即服务

Azure PlayFab 目前支持 1200 多个实时游戏,拥有 8000 万名每月活跃玩家。 它是一个完整的后端平台,其中包含具有实时控制的全堆栈 LiveOps。

可以使用 SDK 将此解决方案集成到移动、电脑或主机游戏中。 所有常用的游戏引擎和平台(包括 Android、iOS、Unreal、Unity 和 Windows)都有 SDK。

它提供身份验证、玩家数据管理、多人游戏和实时分析等游戏服务,以帮助游戏发展其用户群。 利用实时数据管道和 LiveOps 的强大功能,让用户使用自定义的游戏内项目、活动和促销。 还可以执行 A/B 测试、生成报告、发送推送通知等。

我们不断创新并添加新功能。 有关详细信息,请参阅 Azure PlayFab;有关定价,请参阅 定价