微信号:infoqchina

介绍:有内容的技术社区媒体

Nate Wiger:克服手机游戏开发面临的两大挑战!

2015-10-05 08:12 魏星

Nate Wiger2008年加入AWS任首席架构师,之前他是索尼PS游戏机的在线游戏总技术师。他热衷于创造高绩效的数据库,游戏分析,用户集成内容,以及降低游戏设计的运营成本。2015年7月底他赴华参加了ChinaJoy,会后InfoQ对这位资深游戏开发技术工程师进行了采访。


InfoQ:Nate Wiger您好,欢迎您来到中国。刚刚参加完中国游戏开发者大会(2015CGDC),能简单聊聊您的感受吗?您对中国哪些游戏或者游戏公司印象比较深刻?


Nate Wiger:谢谢,很高兴来到中国。今年的ChinaJoy非常赞。我参加过世界各地的游戏会议,包括美国的E3和GDC,欧洲的GamesCom,东京的Game Show,新加坡的Casual Connect,等等。但是,ChinaJoy是一个令人印象深刻的盛会。我们都知道,对于游戏行业来说,中国是一个多么重要和巨大的市场,但亲临ChinaJoy还是令人大开眼界。除了规模大小,另一件让我印象深刻的是游戏粉丝的多样性——男女老少都来参加了ChinaJoy。


游戏公司如中国的趣加游戏(Fun Plus)、尼毕鲁(Tap4Fun)、以及美国的社交游戏公司Booyah在全球做的很好。这些公司都已经在使用AWS来向全球观众提供他们的游戏,很高兴看到他们如此成功。


InfoQ:从索尼到AWS,您的工作一下子从在线游戏架构师转到云计算技术推广,对您来说有哪些变化和挑战?


Nate Wiger:在索尼,我亲身经历了其他游戏开发者面临的挑战。首先,游戏开发要非常迅速。你需要能够快速部署新功能和尝试新事物,验证你游戏中的“乐趣”。谁能越快做到这一点谁就能创造出更好的游戏。其次,你需要能够找到具有性价比的游戏推广方式,并且一旦游戏变得流行起来你要有所准备。


有很多这样的例子,游戏变得流行后会在AppStore排行榜上飙升。比如Devsisters,一家韩国独立游戏开发商经历过的突发事件。他们的游戏《CookieRun》从两台服务器到一夜之间需要60服务器的事件。幸运的是他们使用了AWS,我们的弹性服务满足了玩家的需求,Devsisters没有采取 任何动作。事实上,当这一切发生的时候,他们居然都在睡大觉。


最后,游戏开发者想要把他们的游戏提供给全球用户,这也是我认为AWS能提供很多帮助的地方。使用AWS,你可以在全球11个地区使用相同的API,并且这一数据还在增长。你唯一要做的只是改变部署的区域。你可以复用全部已经开发好的代码和资源。举个例子好了,Red 5 Studio的游戏大作《Fire Fall》完全运行在AWS上,他们可以在一天之内把产品从美国部署到海外地区。跟花几个月时间去买硬件或者跟不同的供应商签订合同相比,一天之内能够把你的游戏部署到一个新地区,将从根本上改变你推广和分发游戏的方式。


InfoQ:设计一款运行在AWS上的游戏有什么需要特别注意的地方?在架构设计上与其他平台有什么不同?


Nate Wiger:首先,你可以像在其他数据中心那样在AWS上启动你的游戏。我们的EC2虚拟实例支持12个不同版本的Linux和Windows,你可以在上面安装任何你想要的客户端软件。如果你的后端程序是运行在Linux上的Java或者PHP,又或者是运行在Windows上的C++,这些程序运行在EC2上都没有问题。这也是很多游戏开发者使用AWS的方式,几乎就是一个提供自助API服务的主机托管公司。


但是,通过使用我们的高级服务,比如像数据库管理和存储,你能从AWS获取更多的价值。例如,我们的NoSQL数据库——Amazon DynamoDB就非常受游戏公司青睐。这是因为DynamoDB是专门针对快速写入数据而设计的——这通常是游戏公司在使用关系型数据库的一个痛点。我们有好几个客户,把他们的数据库从MySQL切换到了DynamoDB从而取得了很好的效果。比如EA Mobile,把他们的数据库切换到DynamoDB之后,不但性能得到了明显的提高,据说他们跟自己的MySQL相比数据库存储成本节约了90%。另外,DynamoDB是全面托管的,所以你不必担心数据库的运行问题。你可以更专注在开发一个伟大的游戏方面。


我们有很多被大量游戏公司成功使用的高级服务,像ElastiCache、缓存服务、S3 静态资源最理想的对象存储服务。Naughty Dog——美国最卖座的游戏《Uncharted》和《Last of US》的开发商,使用S3和CloudFront为他的玩家提供游戏更新。通过保持玩家的积极参与,帮助他们创造了一个充满活力的游戏体验。


InfoQ:我本人很喜欢RTS类游戏(比如WarCraftIII),目前移动端游戏发展迅速,游戏厂商在移动端游戏开发上面临的挑战有哪些?您怎么看移动端游戏的发展趋势?


Nate Wiger:手机游戏无疑是一个巨大的和爆炸式增长的市场,不止是中国,整个东南亚都是如此。我认为手机游戏面临的挑战有两方面。正如我多次提到的那样,首先是建立一个可连接的既投入产出比高、又按需计费的在线服务后端;其次,货币化仍然是手机游戏的关键部分,尤其是现在大部分游戏都是免费的。在货币化方面取得成功意味着你要对玩家有非常精准的分析。成功的手机游戏十分确定他们的玩家喜欢游戏的哪些部分以及为什么喜欢。


AWS提供多种分析服务以供游戏公司如Rovio、Supercell、Gumi用来分析玩家的行为。Amazon Redshift是我们的数据仓库管理服务,也是我们最近大受手机游戏公司欢迎的分析工具,它是一个SQL兼容的数据库,这意味着数十种现有的可视化工具在Amazon Redshift里开箱可用。像我们其他的数据库管理服务一样,你只需要配置好你想要的Redshift集群的大小,接下来我们来负责集群的健康,并做好备份和快照。


我最喜欢AWS的地方,同时也是我在索尼的时候重度使用AWS的原因是,AWS所有的服务都可以被独立使用。所以,如果你的游戏已经托管在了别的地方,但是只想用Amazon Redshift进行分析,这也是完全可能的。所有数据导入AWS都是免费的,所以你可以把世界各地要分析的数据都导入Redshift。加上Redshift有一个免费的等级,如果你运行最小的集群,意味着你可以试着把Redshift集成到你现有的游戏中从而不必付费。


InfoQ:现在中国市场上的游戏开发引擎中,您怎么评价人气颇高的Cocos2d和Unity?此外,手机游戏开发领域,Cordova也很受欢迎,您对这款引擎的评价是什么?


Nate Wiger:像Unity和Cocos2d这样的框架在快速开发游戏方面是非常好的工具。事实上现在我们有一个官方的AWS Unity SDK,里面集成了我们的服务,像S3和DynamoDB等。如果你正在使用Unity,你可以下载一个AWS Unity SDK并且很简单地在你的游戏中集成AWS。这也就是说,我们认为,让游戏开发者使用AWS变得更简单这一方面,我们还可以做的更多。我们真的觉得,使用AWS应该就像下载我们的SDK那样简单,设置一些属性,然后你就可以像使用别的开发工具那样,在自己的IDE里调用AWS的服务。我们的Unity和Xamarin SDK正是朝着这样的方向迈出的第一步,但我们想做的显然不止这些,而是更多。


InfoQ:在您看来,一款游戏要想在全球市场获得成功,需要具备哪些条件?在开发技术方面您对中国游戏的开发者和厂商有哪些建议?


Nate Wiger:成功的游戏有一些很容易理解的地方:你需要创造一款玩家喜爱的伟大的游戏。这说起来很容易但做起来很困难。如果要用一个词来形容,那就是“唯快不破”——你需要快速发掘乐趣、发布你的游戏、收集分析你的玩家数据。


借助EC2虚拟实例,以及我们的高级服务平台如DynamoDB、Redshift、S3的力量,你的游戏运营将节省大笔的支出,开发进度也会更快,管理成本明显降低——因为它们是完全托管的服务。一旦你把学习成本投入到AWS,你就能用我们的服务影响到全球的玩家。


InfoQ:中国的移动网络环境比美国复杂(GSM网络与3G、4G等多种网络制式并存),依据您的经验,对中国游戏市场的参与者有哪些建议?AWS在这一方面有哪些优势可以提供给客户?


Nate Wiger:中国和东南亚肯定会面临移动网络特有的挑战,但网络永远是游戏要面临的挑战,不管是手机、控制台还是MMO的游戏。具有稳定、高性能的网络,对游戏十分重要。在AWS,我们将继续专注在诸如优化网络、帮助提高游戏用户体验等功能上。


除了游戏服务器网络,你还要测试你的设备,而这正是我们的新Device Farm服务可以提供帮助的地方。在Device Farm上,你可以在云端自动化地对你的游戏客户端进行一系列真机测试。你可以在Device Farm上一体化你的开发程序,这样,每次你变更你的游戏客户端时,都会被推送到Device Farm上,你的测试程序也会自动运行。


InfoQ:我们了解到AWS提供了很多游戏开发和运维方面的服务,而一般稍大的游戏开发商自己也做此类工作。AWS在这一方面的优势是什么?


Nate Wiger:刚才你曾提到喜欢像魔兽争霸这样的游戏,尽管手机游戏是一个爆炸式的市场,但PC MMO市场依然存在并且活得很好。如果你看过暴雪在ChinaJoy的展台,你会看到有人在那排队玩他们的游戏。


AWS提供给游戏开发者的优势绝不仅局限于手机游戏。正如我刚才提到的那样,我们新一代的EC2实例包含了优化网络的能力,可提供低延时、低抖动、每秒高数据包发送的功能。AWS同样提供虚拟私有云或者VPC,允许用户定义子网和安全组以提供网络层细粒度的访问控制。在VPC上,你可以通过VPN软件或者低延迟的直连物理线路直接连接任何现有的数据中心到AWS上。

当然,我们的VPC和网络增强服务都是免费的,你无需付任何额外的费用就可以在你的EC2游戏服务实例上启用它。


InfoQ:中国市场除了友盟、腾讯、360、豌豆荚等渠道商,也有AppAnnie、AppFigures等国外厂商,中国市场正在成为全球最大的市场。在您看来,云计算技术在游戏市场有哪些优势?您对产业链上的公司有哪些建议?


Nate Wiger:我认为云计算是手机游戏市场取得成功的关键因素。成功的游戏公司如Supercell和GREE,将他们的产品全部功能都部署在AWS上的另外一个原因是,AWS使游戏开发更快、部署和扩展起来更经济高效、并且在全球推广起来十分迅速。


我们也有一个愿景,希望游戏比AWS的后端服务还要大。当你看到我们收购Twitch,亚马逊对游戏有真正的热情。我们认为游戏行业在新市场和新技术方面还有很大的成长空间。游戏在社会方面的影响一如既往地强烈,如果我们可以做些什么来帮助游戏开发者实现他们联网游戏的计划,这都会让我开心地笑起来。这就是为什么我喜欢现在的角色——我热爱游戏,在亚马逊持这种想法的人很多,我不会感到孤独。



版权归属InfoQ,禁止私自抄袭转载。

回复关键词React | 架构师 | 运维 | 云 | 开源 | 物联网 | Kubernetes | 架构 | 人工智能 | Kafka | Docker | Netty | CoreOS | QCon | Github | Swift | 敏捷 | 语言 | 程序员


今日文章推荐


解析Twitter如何构建高性能分布式日志

Airbnb副总裁分享Airbnb的架构要点

为什么你的软件项目会失败?

投稿可勾搭:

邮箱:editors@cn.infoq.com

合作QQ:1073600161

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 Ansible 前传(密钥分发) Android相机开发那些坑 App界面交互设计规范 你读了那么多书,为什么还那么穷? 你可能不知道的10个JavaScript小技巧