王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性

海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性

发表于 2012-09-07 17:2412534次阅读| 来源 CSDN整理0 条评论| 作者 杨依帆

游戏开发 Unity 游戏引擎 王楠
摘要:王楠是一名身在德国的独立游戏开发者,他参与开发过多款热门游戏,《超级拍拍羊》曾获2011年中国独立游戏节决赛提名。今年8月他亲临阿姆斯特丹的Unite2012大会。我们有幸采访到王楠,他以海外华人的视角对移动游戏的产品细节与开发技巧进行解密,同时分析了Unity 4在引擎升级后的种种特性。

我们有幸采访到了王楠这名对于游戏开发拥有资深经验的独立开发者。他从多个角度对移动游戏开发的核心部分进行解密,同时对于Unity 4的最新功能发表了个人见解。王楠认为Unity更适合于3-10人或20-50人的中小团队,而50人以上的大型团队更适合采用Unreal。在谈及抄袭现象时王楠表示,借鉴他人的创意很正常,但借鉴不等于抄袭,在借鉴的基础上尽可能创新和改造才能够逐渐进步。

CSDN: 您是一名身在海外的独立游戏开发者,请介绍一下您的个人相关经历、所开发的游戏以及取得的成绩。

王楠:我于2005年进入上海育碧担任关卡设计师,参与了《幽灵行动》、《战火兄弟连》、《贝奥武夫》等游戏的开发和移植工作。2008年加入德国工作室YAGER,参与设计和制作了近期受到业界热议的反战游戏《特种部队:一线生机》里的大量关卡。 过去7年里我一直使用Unreal Engine(虚幻引擎)。 从2010年开始和几个朋友在业余时间使用Unity开发iOS游戏,第一款作品《超级拍拍羊》(Super Sheep Tap)于2011年7月发售,并获得2011年中国独立游戏节(IGF China)决赛提名和最佳音效设计奖。最近一年,我们一直在开发的硬币消除兑换游戏《拜金小魔女》(Money Witches)即将面市。

独立游戏开发者 王楠

CSDN: 您认为国内移动游戏开发者和海外开发者有哪些差别?

王楠:最大的差别首先是对于生存的态度:海外开发者接受到来自社会各方面的压力较小,很多人从做自由职业者开始,只要能养活自己就能按喜好开发游戏,不会考虑太多房、车、结婚之类的问题;另外一些人游走于全职和创业之间,攒下一年的生活费就去做手机游戏创业,钱花光还没成功就再去找工作。理论上国内的开发者也可以这么做,但面临来自社会和家庭等各方面的压力更大。这个差别决定了在国内创业或多或少都受到浮躁心态的影响,会更加注重推广和营收,而打磨设计和钻研技术的风气在国内并不是主流。

而对于技术和专业化程度上的差别,其实本质上并不存在,现在游戏开发的技术都可以在网上找到相关信息,当然前提是具备良好的英文理解能力。目前中文资料从系统性和专业性上都无法和英文相比,所以学习英语是国内开发者必须注意的问题。

王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性_第1张图片

国内开发者关注盈利多少,国外开发者关注打磨产品事实上没有好的产品,也就谈不上盈利。

CSDN: 请就您的经验谈谈手机游戏中人物角色、场景设计以及游戏渲染方面的经验。

王楠:个人认为手机游戏中的人物最好使用超低模来做,主要依靠手绘贴图来增加细节和质感。拿Unity来说,Unity支持动态批量渲染(Dynamic Batching),但只能对顶点数不超过300的模型起作用。 如果你有大量单位需要显示,那么将这些单位的模型精度控制的比较低会大大提高渲染效率。当然这个和游戏风格有关,《无尽之剑》里同屏单位数量较少,就可以使用非常精美的模型。

《暗黑破坏神3》里第一次使用了3D引擎,但由于摄像机角度相对固定,他们的场景是用2.5D形式制作的,也就是每个模型只做一定角度和范围内看到的面,这才能在场景细致精美的情况下保证效率。所以制作场景时要先从游戏设计出发、弄清楚需求,然后最大限度地在需求范围内表现美的一面。

王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性_第2张图片

《暗黑破坏神3》的场景采用2.5D形式,为了保证场景效率,每个模型只做一定角度和范围内看到的面。

CSDN: 对于产品迭代、用户体验方面,有哪些经验可以分享?

王楠:产品从制作出原型开始就应该积极寻求测试人员的反馈,我们主要使用Testflight(testflightapp.com)这个在线服务发布我们的游戏测试版本。我们的工作室(aBit Games)目前制作中的游戏《拜金小魔女》(Money Witches)从第一个测试版本发放以来,已经经过了10个月的开发和迭代,参与测试的人数达到近100人。不过效果最好的用户体验反馈还是面对面的观察用户试玩游戏的过程。用户在使用书面提交反馈时会有意无意地忽略一些重要信息,尤其是非专业用户。所以我的建议是,收集业内人士或专业玩家意见时可以用远程发布和书面反馈的形式,而对于普通用户最好是面对面的进行游戏测试和观察。

对于移动平台游戏开发者来说,《拜金小魔女》并不是个好例子,对于这个项目的喜爱让我们的迭代过程有些永无止境。更合理的做法是使用“三天开发原型”的方法:第一个月开发和迭代核心功能,第二个月设计图像风格和制作核心美术资源,接下来尽可能在两个月之内完成所有功能。发售后再根据市场反馈进行更新版本的迭代修改。这个模式能够在较短时间里产出有一定质量的产品,并且根据产品表现来决定是否进一步完善和扩展。

CSDN: 开发者在进行游戏的运营、推广和营销时,有哪些地方需要注意?

王楠:在第一款游戏(Super Sheep Tap)完全失败的运营之后,我们也吸取了相当多的经验。个人认为运营最重要的部分是在应用内部添加必要功能,比如推送通知,在应用内醒目位置显示游戏的社交平台(比如游戏的官方Facebook页面或微博账号等)、社交好友排行榜、社交网络消息以及各式各样的社交奖励机制(比如邀请好友可以得到游戏内的奖励等等)。这些功能完善以后,开发者只要在社交平台上和游戏粉丝互动就可以了。

另外一个重要的环节是在游戏中加入Metrics功能和服务(用户行为统计),这方面最著名的服务就是Flurry了,他能够让你随时知道每天有多少玩家在玩你的游戏,有多少人完成了教程,有多少人进入了支付购买界面等等。没有统计,开发者就只能靠猜测,也就谈不上运营。

CSDN: 请谈谈在阿姆斯特丹参加Unite2012大会的感受。

王楠:Unite2012非常成功,从主发布会到每一场演讲以及Unity游戏颁奖礼都令人印象十分深刻。

首先是Unity这个公司的发展,他们近几年来的商业化取得了巨大的成功,慢慢实现了从草根游戏引擎到高质量商用引擎的过渡,并且在全球范围内不断拓展各种业务。但作为游戏开发者最让人感到高兴的是,尽管商业化程度越来越高,尽管Unity被各种机构和公司当作虚拟互动展示技术,Unite2012大会依然保持了纯净的“技术+游戏”主题,包括主发布会在内的各种演讲仍然集中精力在帮助开发者做出更好游戏的新技术上。

今年的Unite大会在荷兰首都阿姆斯特丹举行

其次就是越来越多的大牌传统主机游戏制作人开始使用Unity作为自己创业公司的游戏引擎,包括Peter Molyneux(牛蛙工作室创始人)和Brian Fargo(Interplay创始人)。一方面说明Unity所倡导的多平台发布和相对敏捷的流程被越来越多人认可,另一方面有无数现成资源的Asset Store也成为传统游戏开发业缩减成本的出口。

Unity游戏颁奖礼上则显示出这个引擎在手机平台的强劲实力。一年前在iOS和Android平台上获得成功的Unity游戏还屈指可数,而在今天Unity游戏占领App Store排行榜前列已经不是什么稀罕事。获奖游戏呈现出的多样性(跑酷、平台、第一人称射击、战略、冒险),也说明了这是一个成熟的,可以适应各种需要的多平台游戏引擎。另外值得一提的是获得大奖的游戏Total War: Battles是Creative Assembly公司内部的小团队开发的iPad平台战略游戏大作,我认为以后会有越来越多的主机游戏开发商采取这个模式来试水手机游戏市场。

CSDN: 您是否使用过其他游戏引擎,Unity与其他引擎有何区别?

王楠:我使用Unreal Engine的时间比使用Unity长很多。除此之外还短暂使用用过GameMaker, Cocos2D等轻量引擎。对于手机游戏开发来说,Unity正好介于UDK和Cocos2D之间。商业化的用户支持和大量低成本中间件使得Unity非常适合商业化小团队(3-10人)和中等规模团队(20-50人)。Unity的工作流程比Unreal Engine要紧凑,所以团队规模不大时有更好的开发效率。但是目前来看50人以上的团队规模时,选用流水线程度更高的Unreal Engine会更容易管理。

王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性_第3张图片

王楠使用Unreal的时间更长,并且他认为Unreal更适合50人以上的大型团队

我在Unite12大会上听到最多的选择Unity的原因就是大量可以直接购买和使用的资源和中间件(Middleware),对于小团队来说,大量中间件开发商的技术支持提供了良好的学习环境,而对于有一定资本的中等团队,又可以利用现成资源快速做出产品或节约人力成本。

CSDN: Unity升级到了Unity 4版本,其动画以及3D渲染效果得到提升,有哪几个特性是对Unity开发者最有价值的?

王楠:官方重点介绍的主要是新的动画系统Mecanim,新GUI系统和Prefab系统这三大部分,同时还有对DirectX 11的支持以及角色渲染等其他方面特性的提升介绍。

王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性_第4张图片

Unity 4的3D渲染效果图

1. 个人最期待的是Prefab系统的改进。之前Unity的Prefab虽然强大但是在数据接口和嵌套使用方面始终有混乱和不便之处,而在新的Prefab系统下,开发者可以严格控制Prefab的用户可以修改的属性。并且脚本中获取子物体里属性的方式也更加干净优雅。嵌套的Prefab也终于可以正常同步和修改实例了,对于任何游戏类型的开发都能带来巨大的效率提升。

2. 第二个有意思的特性叫做Timeline,算是原来Animation系统的扩展。开发者可以使用Timeline控制任何物体或参数的线性变化,更方便的是加入了“录制”按钮,制作涉及模型、特效、声音等多种资源的动画也只需要打开录制,然后在合适的时间点添加资源到被编辑物体上就算完成了。

3. Mecanim方面,Unity4以前的版本里,系统是没有内置的动画状态控制的,完全需要开发者自己去编程来控制。Mecanim本身的核心是一套将动画重定向于不同角色骨骼的处理算法。Unity在这个基础上加入了Animation Controller这个状态控制系统,让整个动画开发流程变得非常流畅。Mecanim另外一大特性就是支持IK动画,解决了以前在Unity里开发动作和射击游戏时如何精确控制角色手部位置的老大难问题。此外IK的加入也能够让开发者跟踪角色脚踝关节的位置,并且根据踝关节位置曲线自动处理两段动画的融合衔接问题,为动画工程师省去了很大工作量。Mecanim还改进了动画资源导入工具,现在在导入资源时可以很方便地预览和分割动画,甚至根据动画层的需要直接生成可以无缝循环的动画。这个特性主要面向动作捕捉生成的动画数据。

Unity 4的3D渲染效果图

4. Unity4的DirectX 11特性展示完全集中在了主发布会上播出的那段名叫《蝴蝶效应》的实时渲染动画短片中。包括使用Compute Shader制作和电影业使用相同工艺的爆炸效果,使用Dynamic Tessellation来渲染毛发,使用支持多层贴图的Skin Shader来创造更真实的皮肤质感等。

5. 角色动画渲染方面最大的进步是支持Skinned Mesh Instancing,这个特性允许用户通过脚本访问蒙皮计算后的SkinningMesh,避免重复计算。用户还可以预先计算好一套骨骼动画里的不同Pose,并在运行时直接调用数据节约骨骼计算时间。这个功能主要的用途是允许用户同时在画面上渲染大量使用相同骨骼和动画的角色,就像主发布会上演示的一样,屏幕上有几百个人物播放相同的动画套件,而渲染时间只有几毫秒。

6. 移动平台的渲染增强包括三个方面:第一是支持动态阴影,就是之前在PC平台可以使用的动态阴影效果如今在移动平台也可以享受了。第二是动态字体渲染,以前在移动平台Unity只能使用位图字体,使得中文之类字体的显示非常困难,Unity4里不光可以直接在手机上渲染高精度的动态字体,还支持HTML5标记来快速实现颜色和字体风格效果。第三个是在烘焙Lightmap时终于可以计算凹凸贴图了,让整个画面的质感提高很多。

CSDN: Unity游戏引擎有哪些不足之处?

王楠:Unity对于白手起家的个人开发者或小团队来说成本还是高了一点。虽然使用免费版就能开发PC和网页游戏,但如果要开发手机游戏和使用一些必要功能(比如定制的dll插件包,减少App尺寸等)时,总价达到3000美元的授权费用还是一道不低的门槛。再加上为了发挥Unity特长而推荐购买的资源和工具,开销就会更大。

另外在多人合作工作流程的安全性方面,Unity一直都有明显的问题(当然这也是开发流程敏捷快速的代价),具体表现就是多人合作时会有各种数据冲突问题。很多开发者为了能够多人合作修改同一场景不惜花费大量时间制作资源文本化工具。不过Unity4以后会有改进版的Prefab系统,还有更好的版本控制也在计划中,能否改善这个问题有待进一步观察。

CSDN: 请为国内移动游戏开发者提一些建议。

王楠:在Unite2012大会上,David Whatley在Temple Run成功故事的演讲上表示:“有很多人说手机游戏的黄金时代已经过去了,只有很少一部分人能赚到钱,但我认为现在的手机游戏开发者能赚到和09-10年一样多的钱,或许更多。虽然市场上的App数量和开发者数量都大量上升,但智能手机的用户数和消费量增长得更快。一切都在于你能否最有效地开发出高质量的游戏。”

而他所说的高质量游戏,并不是指开发周期长的大作,而是专心于挖掘简单乐趣,在有限的游戏容量里尽可能的精工细作,重视用户体验的休闲游戏。我并不认为非大众口味的休闲游戏没有市场,但是休闲游戏能够更快地开始运营和获得收入。虽然如今的市场想把一款游戏做到大红大紫非常困难,但一个精心制作的免费小游戏获得几十万甚至上百万的下载并不难。当有足够的小游戏能够支撑起日常开支时,才是真正展现自己野心的时候。

更重要的是,不要以抄袭为目标。在设计经验不足时借鉴其他游戏的创意是很正常的事情,但一定要尽自己可能进行创新和改进。如果只顾抄袭别人,不管做了多少项目都没法真正理解游戏设计背后的原理。而一旦停止抄袭,作品水平又会大幅度下降,在其他开发者靠自己辛苦打磨提高水平时,抄袭者只会被甩得更远!

最后希望大家能坚持梦想,多多交流,共同提高国内移动游戏开发水平!

欢迎关注王楠的新浪微博@南塔斯,透过海外华人的视角关注移动游戏开发。

(文章撰写:杨依帆 责任编辑:张宁)

本文为CSDN整理,未经许可或授权不得转载。如需转载请联系[email protected]


你可能感兴趣的:(王楠——海外华人程序员视角:解密移动游戏开发与Unity 4引擎特性)