亚马逊AWS官方博客

AWS上的游戏服务:Lumberyard + Amazon GameLift + Twitch

开发一款世界级的游戏是一个非常困难,耗时和昂贵的过程。现在的游戏玩家要求越来越苛刻,他们希望既可以通过各种不同的终端设备来进行游戏 ,又要求游戏具有社交的功能。由于此类游戏的开发期和推广期都很长,因此在游戏发布当天会有成千上万的用户同时挤进服务器进行游戏体验,往往在这一时刻就决定了该游戏的成败 。

为了应对这一挑战,游戏厂商需要从开发过程就开始考虑这些将来可能出现的问题。在很多时候,游戏创作者需要是一个全能的团队,包括故事设计,游戏设计, 物理系统设计,逻辑设计,声音创作,图形,视觉特效和动画开发等部分。如果游戏是基于网络的在线游戏,该团队还必须具备包括可扩展性,存储,网络通信管理,以及安全等方面的能力。

同时,在18至36个月的开发过程中,游戏工作室又承担着相当大的财务和声誉的综合风险 。每一款新游戏是更像是一个一锤子买卖的事情。

新AWS游戏服务

今天,我将要向您介绍两个专为游戏开发人员提供的AWS新服务产品,可以帮助开发人员方便的开发出能够连接云服务的,同时又能够跨平台的游戏 。这两个服务是基于一些在游戏行业领先的成熟的引擎和开发工具,并增加了大量的我们自己的代码,同时还整合了我们的Twitch视频平台和互动社区,而在AWS服务方面整合了包括消息通讯,身份认证及存储服务等功能。下面就是我们今天发布内容的具体介绍:

 

Lumberyard – 是一款游戏引擎并附带向开发人员提供专业的整套开发环境 。Lumberyard融合了最新的CryEngineDouble Helix以及AWS云服务这些成熟的技术和服务, 可以大幅简化游戏开发工作。作为一个游戏引擎,它既可以支持基于云服务的在线游戏也可以支持单机版的3D游戏,同时支持资产管理,角色创建,人工智能(AI),物理系统和音效等多种技术 。在开发中,Lumberyard IDE支持设计者从空白的画布开始创建室内或室外环境场景;支持开发者可以充分利用内置的内容工作流和资产管道,方便的导入在Photoshop,玛雅,或3ds Max等构建的内容;支持开发者以传统的方式使用C ++和Visual Studio(包括访问编程游戏AWS SDK的C ++),也支持使用我们的FlowGraph和很酷的可视化脚本功能Cloud Canvas打造连接云服务的游戏。

Amazon GameLift – 许多有着后端服务器或组件支撑的在线游戏都需要能够根据当前活跃的会话数来动态的扩展后端组件的数量 。只要您是用Lumberyard开发完成的游戏,Amazon GameLift就可以帮助您部署和扩展基于会话的多人游戏服务器。您只需向AWS上传游戏服务器的镜像文件就可以将该镜像部署到一组可以根据活跃玩家数而自动弹性伸缩的EC2实例了。同时你不需要再花时间编译打包,缩放,运行或监控您自己的服务器集群。而在费用方面,你只需要按照日活跃用户(DAU)支付很小的一笔费用和标准的EC2,EBS和带宽的资源使用费用 。

集成Twitch- 现代游戏玩家是一群喜欢与其他玩家和游戏爱好者进行互动的群体。无论是专业还是业余玩家都希望能够再Twitch上展示自己,从而赢得更大大的,忠实的粉丝。为了进一步满足这种趋势并促进建立更深入的联系和更活跃的社区,通过Lumberyard构建的游戏能够方便的整合Twitch的功能:

·  Twitch ChatPlay功能可以允许在游戏中根据 Twitch聊天流的关键字进行回应。例如,观众可以投票让玩家在游戏中采取何种操作。

·  Twitch JoinIn:可以允许主播可以从聊天频道内邀请观众中的一员进入游戏。

这些服务功能,与AWS的其他功能类似,都是为了让您更专注于游戏的独特性和创造性方面,这样就可以不断快速的优化游戏体验,直到达到所期望的参与感和乐趣 。

支持服务 -随着对这个锦上添花,我们还推出了一系列支持选项,其中包括一个专门的Lumberyard论坛和一系列教程(文本和视频)。同时也提供多种等级的AWS付费支持服务。

Lumberyard开发

Lumberyard是在今天的发布的核心。正如我前面提到的,它是专为专业游戏开发人员定制的,并支持高品质的,跨平台的游戏开发。目前可以支持以下环境:

·   Windows – Vista,Windows 7,8,和10。

·   Console – PlayStation 4和Xbox One

移动设备和VR设备的支持会在后续的几月内上市。

Lumberyard的开发环境可以运行在Windows 的个人电脑或笔记本上。您需要一个快速的四核处理器,至少8 GB内存,200 GB的可用磁盘空间,以及 2 GB以上显存的高端显卡 和Direct X 11的兼容性。您还需要的Visual Studio 2013 Update 4(或之上版本)以及Visual C ++ Redistributables组件包。

Lumberyard 下载包包含二进制文件,模板,资产和Lumberyard Editor的配置文件。它还包括Lumberyard游戏引擎的二进制文件和源代码 ,您可以直接使用现有引擎并以源代码作为参考,也可以进一步根据游戏的需求定制修改引擎。下载包中还包含Lumberyard启动程序,它可以确保您已正确安装和配置Lumberyard和第三方的运行时环境,软件开发工具包(SDK),工具和插件。

Lumberyard Editor既可以进行游戏的开发,同时又可以用它来编辑和管理游戏中的资源 。

Lumberyard Editor包含一整套编辑工具(每一个工具都可以单独写一篇博客来介绍),包括资源浏览器,图层编辑器中,LOD生成器,纹理浏览器,材质编辑器,Geppetto(角色和动画工具),人体模型编辑器,流式图Flow Graph(可视化编程), AI调试器,轨迹视图编辑器,音频控件编辑器,地形编辑器,地形纹理图层编辑器,粒子编辑器,日夜时间编辑器,太阳轨迹工具,合成编辑器中, 数据库视图和UI编辑器。所有的编辑器(以及更多)是都可以从顶部的工具栏访问。

为了让您能够在有选择性的,模块化的将功能添加到您的游戏中,Lumberyard提供我们称之为Gems的代码打包系统。您只需启用Gems就可以自动编译和打包相应的二进制文件。Lumberyard提供默认的Gems包括AWS访问,Bolds(用于蜂拥行为),云服务,游戏特效, GameLift访问,雷电,物理系统,雨,雪,龙卷风,用户界面​​,多人游戏功能以及逼真的森林等。

利用Flow Graph和Cloud Canvas编码

通常来说,游戏逻辑是由专门的开发人员来进行构建的,往往需要对C++的代码进行反复的编辑/编译/运行。如果您使用Lumberyard您仍然可以使用这种方式来实现游戏逻辑,但同时Lumberyard还提供了另外两种方式来处理逻辑:Lua和 Flow Graph 。

Flow Graph是一个直观和易操作的可视化脚本系统,可以让您轻松的实现复杂的游戏逻辑,而无需编写或修改任何代码。您可以使用具有扩展能力的组件库来预定义游戏的玩法,声音的控制和特效的管理。

Flow Graph是由节点和链路组成的; 在一层中可以包含多个Flow Graph,它们可以同时保持活跃的状态。节点代表游戏实体或动作,链路是用来连接一个节点的输出和另一个节点的输入。输入的数据类型可以是布尔,浮点,整数,字符串,向量等等类型,同时输出则可以连接任何类型的输入; 如果需要的话,数据类型的转换会自动被执行。

Cloud Canvas是一组用来访问各种云服务的节点,它有超过30种不同类型的节点,其中包括两种访问Amazon简单队列服务(SQS)的 节点, 四种可以访问Amazon简单通知服务(SNS) 的节点,七种读/写Amazon DynamoDB的节点,一种可调用AWS LAMBDA的节点,一种可与Amazon Cognito联合认证玩家的节点。所有AWS服务请求都是通过配置在Cloud Canvas内的用户发起的,并且该用户的访问权限则是由AWS身份和访问管理(IAM)所进行设置和管理。

如下图,是调用名为DailyGiftLambda的Lambda函数的节点:

而下图则是一个使用Lambda和DynamoDB实现“日常礼物”功能的Flow Graph:

像往常一样,在这里我仅仅是简单的介绍了一些皮毛而已!要了解更多信息,请阅读Lumberyard用户指南中的Cloud Canvas文档。

利用Amazon GameLift进行部署

如果您的游戏需要一个可扩展的,基于云的运行环境,您一定要了解一下Amazon GameLift

您可以用它来部署许多不同类型的具有共享,连接,定期同步游戏数据等需求的游戏,包括第一人称射击游戏,生存和沙盒游戏,赛车游戏,体育游戏,和MOBA(多人在线竞技场战场)游戏。

在建立服务器端逻辑之后,您可以将它上传到Amazon GameLift。它会在几分钟之内就可以转换为基于Windows的AMI(Amazon Machine Image)。一旦AMI准备好了,就可以创建一个Amazon GameLift组(或更新现有版本),并将它指向之前的AMI,那么您的后台就已经准备就绪了。

而部署之后的服务器组,游戏会话的个数,每组服务器运行状态等信息都可以在Amazon GameLift控制台中看到:

 

另外,在Flow Graph中可以使用GameLift Gem创建一个Amazon GameLift的会话并启动该会话服务。

要了解更多信息,请参阅Amazon GameLift文档。

Twitch集成

最后但绝非最不重要的,您的游戏可以通过Twitch ChatPlay和Twitch JoinIn与Twitch集成。

正如我前面提到的,您甚至可以创建能够由Twich 通道的关键字而驱动的游戏逻辑 。例如,这里有一个Flow Graph监听关键字红色,黄色,蓝色,绿色,橙色和紫色的示例。

使用及价格

Lumberyard和Amazon GameLift现已上市,您可以从今天开始建立您的游戏!

您可以完全免费的使用Lumberyard来开发在线或单机游戏,但需支付在通过Cloud Canvas或AWS C++ SDK调用的AWS云服务的费用, 以及使用GameLift的费用。

Amazon GameLift目前已在美国东部(弗吉尼亚州北部)和美国西部(俄勒冈)两个区域上线,并会陆续在其他区域上线。作为AWS免费套餐的一部分,您可以免费运行c3.large实例每月多达125小时,为期一年。除此之外,你需要支付按需使用的EC2实例费用,加上每台实例50 GB / month的 EBS存储费用,以及$ 1.50每1000个日活用户的包月费用。