演讲纪实日本开发者:引擎和语言技术并不会教你怎么把游戏做的有趣

编辑:小蜂 发布时间:

在今天10月28日进行的Cocos 2014开发者大会下午的议程中,集中了来自史克威尔艾尼克斯、Aiming、gumi三家日本公司的技术代表登台演讲。

  在今天(10月28日)进行的Cocos 2014开发者大会下午的议程中,集中了来自史克威尔艾尼克斯、Aiming、gumi三家日本公司的技术代表登台演讲。日本开发者以自家产品的开发经验带出对Cocos系列引擎的看法与建议,在许多地方有较高的一致性,本文一并为您报道。


SE畑圭辅:运营中不怎么动的部分一次性做好


  首先登场的是来自史克威尔艾尼克斯第9分部的经理/技术总监畑圭辅。这是一位从PS时代开始游戏开发的老兵,拥有11年的游戏开发经验。他带来的产品是《勇者斗恶龙怪兽SUPER LIGHT》(以下简写为DQMSL),借助国民RPG的强力IP,本作当前在日本表现良好,他介绍了其开发过程中的几个经验要点:

  1.界面使用CocosBuilder来做。界面在运营过程中基本不会动,所以就算复杂,也可以一次性做好。

  2.将纹理贴图都做成SpriteFrame,可以在不大幅增加容量的前提下,丰富游戏的表现力。(龙虎豹注:这一点是日本开发者普遍惯于采用的)

  3.运营过程中,将游戏内容分成动静两边。程序是尽量不去动的静态那一边,因为这涉及到游戏的提交和再审核问题;而角色数据、活动数据则可以从服务上下载,是动态的一边,游戏的更新就用这边来做。

  4.自制了一款基于浏览器的地图编辑器,大大方便了设计与策划人员的工作。

  介绍完游戏开发经验,话题就来到了对Cocos2d-X引擎的评价上。畑圭辅认为该引擎拥有很多技术文档、免费开源、可从Cocos2d-iPhone引擎移植、支持Win/Mac/Linux多种开发平台等优点。但他也指出该引擎的一些缺点,比如日本开发者十分喜欢Sprite功能已停止技术支持,所以在开发过程中遇到什么问题的话也没法解决;此外存在内存泄漏的问题;还有就是对安卓设备的支持还不够好,特别是在应对各种机型不同的分辨率这一点上。

  对于这些问题的,他给出了自己的建议。他希望之后Cocos引擎能支持Android L和最新的硬件。另外当前引擎的XCode Warning实在太多,影响开发者心态,希望以后能减少甚至做到看不到,这一条在会场内获得不小共鸣,据说与会的开发者说多的时候一下能有几千条,确实让人泄气。还有就是希望将来能有iOS和Android平台通用的纹理格式。

  最后话题回到了基于Cocos 3.x引擎的升级,DQMSL游戏将来会做的升级。首先用到3.x之后,将会采用C++第11版来简化代码;其次会使用3.x的纹理自动匹配功能,提高效率;第三,将会抛弃以往性能低下的自制卷轴视窗和单位栏位,使用CCTableView这一功能;最后一点,将绑定Lua语言,借其简易性,许多内容可以直接让策划人员来写。当然Lua语言的导入存在风险,非技术人员的策划容易写错是一点,另外也容易被外界篡改。对于后者,畑圭辅表示将把关键性机能都留在服务器端,校验操作的合理性,对非法数据进行排除。


Aiming:活用资源,页游变手游

  Aiming公司派出两位演讲者,分别从开发理念和具体技术两个方面进行分享。宣扬开发理念的是该公司的CTO小林俊仁,这也是一位有着十年以上网游研发经验的老兵。他先介绍了Aiming这家专注于网游的公司,该公司具备从策划、开发、制作到运营的全线能力,产品全面覆盖PC、手机、平板等各种平台,员工近400人,主要业务在东亚到东南亚地区展开。这家公司又一个理念很让人佩服,他们认为“核心网游在手机上也是可能的!”还大方的分享了日本游戏的盈利水平,如下图:

  小林先生介绍了Aiming公司的游戏开发方法:首先他们会去推测1年后的流行潮流是什么,来进行立项;其次不纸上谈兵,调少数人开始做核心功能的开发,不断以“这么做是否有趣”为标准检验开发的方向性,这一过程中遵循PDCA循环;当确定立项之后,才将更多开发人员调拨进来,该公司会为项目定一个发布时间点,只有在第二个验证环节大幅拖延做不完的情况下,才会提前加人手进来;最后在iOS和Android平台两边共同发布。

  接下来他以公司当前的热门产品《剑与魔法的境界》为例,具化了上面说到的方法。这部作品原本是以FLASH制作的PC端页游,他们对其做了减法,保留1.可见遇敌、团队战斗;2.角色动画系统;3.即时聊天等核心趣味点,试图将其手游化。但做的过程中发现工作量接近重做一款新游戏,于是就按一贯的方法做了一个核心原型,简化战斗、合成系统,缩短任务时间,都是在这个原型上调试出来的,这一原型还能帮助尽早发现BUG和问题,及早调试。这样不断试错的开发方法可以降低学习成本,让新人来了也能迅速派上用场。

  之后同一公司的技术主管神部公辅登场,他是《剑与魔法的境界》的开发者,并且从2006年本作还是PC页游时就一直做过来。他着重讲了该作品的角色动画技术。

  神部表示,《剑》作从特效、角色、敌人到开始界面为止的各种动画全都封装到了Animation Asset的统一格式中。这是因为其动画资源都是从PC版直接拿过来的FLASH动画,约有1000多项。而当前最新的智能手机都不支持FLASH,所以他们要转换格式后再重新封装。为此他们做了个格式转化器,从FLA格式转换过来。之所以用FLA而不用swf,是因为后者想要获取其Linkage比较困难,而FLA只是简单压缩,获取其中的xml文件简单得多。

  格式转换过来之后,使用Cocos2d::Action来进行播放。他们在其中实现了很多功能,并独创了Skew和从FLASH中提取关键帧这样重要的功能,当然也放弃了一些FLASH就是用不了的动作。

  最后他还提到,将在Cocos引擎升级到3.x之后,在游戏中加入具有3D风格的效果,这将如何实现,最终效果如何,值得关注。


gumi田村佑树:好游戏不是靠引擎和语言做出来的


  gumi的社长曾经来中国的大学深造,并在中国旅行,故而这是一家很有国际风范的企业,分支机构遍布全球,当然大陆台湾都有。登台演讲的是该公司的CTO田村佑树,2010年进入gumi,此前已经有12年的游戏开发经验。他作为实例的是该公司的《Dragon Genesis》,这和前面Aiming的《剑与魔法的境界》一样,也是一款使用FLASH素材转化而来,加以Lua语言做成的产品。其后他的演讲也一直cocos2d-X+Lua这一话题进行。

  首先田村评价了Cocos和Lua的各自的优劣。他认为Cocos苹果安卓平台通吃,善于开发2D游戏,开源且免费。但也存在自身各版本间不兼容、缺乏视频播放功能、开发《Dragon Genesis》时尚没有UI制作工具等缺点。

  至于Lua的优点,田村认为这种语言轻量化、文件小、编写速度快,而且能在iPhone模拟器上直接测试,想要测试下一版更新内容时,直接将模拟器的DLC文件夹练到更新DLC文件夹即可,能够做到立刻响应。不用做内存管理,有GC机制,可避免报错崩溃。当然他也提出了Lua语言的一些问题,比如想用Lua就必须构建模组系统,而且Lua中常见的全局变量在任何情况下都是很危险的,必须要做GC机制的设定而非可选项。另外这一语言非常简单,想在其中实现类的功能,对原型的理解就有比较高的要求。

gumi所用开发语言

  其后他略黑了一下Unity和C++。他认为Unity是黑箱操作、繁琐不够轻量化,而且这一引擎不熟悉主机游戏的开发,对日本有经验的开发者来说不够友好。至于C++,众所周知这种语言需要不断的调试和除错,但偏偏它编译时等待的时间又非常长,工时浪费很大。必须要做代码检查,不然就容易出现内存溢出、崩坏、挂起等问题。这样,当Lua和C++互相之间很容易进行配合时,选择这两种开发语言互补就成了必然。

gumi的开发环境

  最后来到了田村先生全篇演讲的精华,他先表示希望能在Cocos 3.x中能加入DEBUG的功能,现有的调试几乎都在使用厂商自行开发的手段(这一点在之前的演讲中也有中方嘉宾提到)。之后他分享了做新游戏时的4点注意:注重趣味性、讲求平衡、注意网速和载入速度、在意收入。田村先生表示,引擎不是全能上帝,它只能解决游戏开发的技术问题,而不能解决游戏要怎么做的问题。游戏开发者应该更多地注重游戏性,把好的开发工具节省下来的时间用在考虑游戏性之上,龙虎豹对此表示非常的赞同。