说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

乐元素CTO凌聪访谈:游戏引擎技术选型之王道

HTML文档下载 WORD文档下载 PDF文档下载
Cocos2d-x是目前最流行的移动游戏引擎。除了独立开发者和小团队之外,很多大公司也都用它开发游戏。近日,我们采访到了乐元素的CTO凌聪先生,他将为我们讲述大团队是如何部署和使用这套游戏引擎做开发的。

最近,EA DICE都把Frostbite引擎开出了一个叫Frostbite go的移动版本。这不禁让人心里有许多明悟:无引擎,不移动。不加思索一口气可以说出许多移动游戏开发的引擎和技术,从Unity、Unreal、Cocos2d-x、Flash,再到几乎无所不能的HTML5。对于游戏开发者来说,技术选型的空间非常宽泛。近日,我们采访到了乐元素的CTO凌聪先生,为我们分享了他们在游戏开发方面的宝贵经验。

CSDN:你们是如何做技术选型的,谈谈以前你们用的一些方案。

凌:之前我们用过很多引擎和语言,包括HTML5、Flash、Unity、Cocos2d-iPhone、Cocos2d-x这几个都用过。我们有另外一个项目组在用Unreal。

我觉得每个方案要看当前的场合。我对当前的HTML5技术还是持保留意见。目前来说,浏览器的部分可能会存在一些利益分配的问题,但未来Html5的发展还是有很大空间的。


图:乐元素 CTO 凌聪

苹果要大力去推某个跨平台游戏引擎,对他来说有什么好处?其实是没好处,应用跨平台了,用户就流失了。苹果只是关心,在他的平台上,能运行什么应用。用苹果主推的API和功能去开发应用,他才会帮你作App Store编辑推荐。

CSDN:您觉得选用HTML5或Native会对用户有哪些影响?

凌:HTML5能做得游戏还是有限的,比如你做个卡牌类游戏是可以。你做个性能要求不是很高的游戏还可以。用户不关心你用那种技术实现,他是看你游戏效果好不好,这是最关键的。你效果不好,人家不会玩。我们以前做过一些尝试,如果你要做一些特别华丽的游戏,HTML5目前性能还是不足的。很多东西需要你调用Native接口去渲染。

CSDN:Flash技术呢?现在用他做游戏还有前途吗?

凌:第一,Flash当时性能也一般,很久以前,我们做了一款游戏,那款游戏基本上是城建类的游戏,从PC移植过来的。当时使用的是Air3.1,还是非常粗糙的一个版本。我们把所有的动画全阉割了,然后才可以运行。它可以播一些动画,但在Pad上面,一个场景有50-60个动画,它就搞不定了。那个时候性能不好,现在改善了许多,市面上也有一些游戏也用Flash去做。

另外Flash我们不想选的原因,是因为Flash本身不是开源的。我想用个OpenGL ES,想用shader 得到更好的性能,当时在Flash上很难做。它本身还是挺死板的,你一旦用了它,就等于把命都交给它了。再加上它是收费的,从综合因素考虑来看,他和Cocos2d-x等2D 引擎相比了,没有优势。

CSDN:说说你们为什么用Cocos2d-x?

凌:以前也试过Cocos2D-iPhone,我们第一个项目是Cocos2D-iPhone做的,Cocos2D-iPhone挺好要用的,但是他只支持iOS,没有Android,我们最后选型还是Cocos2d-x。我们当时真的是所有的技术都试了一次。Cocos2d-x是个很棒的游戏引擎,它的跨平台特性正是我们需要的,一次开发,可以部署到多个平台之上。

最后我们为什么在几个跨平台引擎中决定选择用Cocos2D-X呢?我们主要有几个方面的考虑。首先最重要的是性能,尤其安卓上的。Cocos2d-x在低端安卓机上也运行很流畅,做同样复杂度的游戏,比其他引擎跑起来快5~10倍。HTML5性能不行,目前看来还无法做出我们想要的游戏。其次,可控性也是关键,对于闭源的商业引擎,到项目后期我们有些优化根本就无法做进去,它的性能怎么样我们就怎么样,我们没有办法控制。于是我们就选择了Cocos2D-X,性能好,开源的可以自己根据游戏去优化,所以这个就是我们最佳的选择。

借助Facebook、Twitter等社交平台API打造超炫酷的那些应用 Unity中Shader的开发运用实战详解,开放报名! 我从独立游戏开发学到的6件事儿 果断Mark!Searchcode——源代码搜索利器 《近匠》图灵机器人:App和移动硬件的智慧大脑 极路由发布HiWiFi OS及应用开放平台 Loom SDK框架:命令行快速开发跨平台2D游戏 安全管家Q2移动安全数据报告:窃取隐私最多 Project Adam vs. Artificial Brain,微软与谷歌角力人工智能 “微信公众平台优秀开发商”征集评选活动正式启动 移动数据库新疆界:开源、Swift、可穿戴... Chromebook侵蚀微软商用PC市场,成绩喜人 2014微信开发者大会议程公布 8月1日前购票8折优惠并赠书 四火的唠叨:也谈谈全栈工程师 图形化与集成趋势 协同软件致远发新品V5.1 跨平台开发如何事半功倍 Xamarin推出免费培训 《近匠》上海庆科:海尔智能家居背后的云方案 轻松DIY智能硬件,开源电子原型平台Hippo-ADK 所见即所得!基于Polymer的设计工具Mobile UI Elements 好的产品经理是怎样炼成的? 统一架构、统一运维:UnitedStack发布UOS2.0 把轻应用带进汽车——宝马、百度编程马拉松大赛启动 “钢铁侠”Insteon的逆袭:声控智能家居新时代 游戏云纪元 第二届游戏运营技术论坛即将召开 Bitly:构建月处理60亿点击的分布式系统 重塑微软:Satya Nadella开启整合之路 推送工具个推完成B轮数千万美金融资 娱乐行业数据化 ABD爱梦娱乐发布大数据引擎产品 增强现实:10大AR应用窥探移动未来 LBS的硬件创新:高德LBS智能硬件编程马拉松圆满闭幕 2014优秀微信开发商评选上线 首批旅游汽车电商房产等行业应用出炉(表) 高分求B/S办公自动化项目设计文档!请版主不要删除!! 能装配数据库,但打不开数据库,错误:ORA-01115: ??? 1 ?????? IO ?? (? # 31796) CWnd的create函数中有一个UINT nID参数,请问该参数干什么用的,用同一个id可以吗? 那里有免费的E-mail服务器下载?十万火急 DBCombo数据绑定控件下拉列表的宽度 较特殊的 API 使用问题 菜鸟问题:如何把一张表的数据添加到另一张表中(结构完全相同)? 升级的sdk下,CFileDialog关闭时出错 控件许可问题 各位,你们有没有遇到过这样的情况 明天我生日,怕大家不在,先贴出来,祝福我吧! 在做程序的时候需要从客户端不停的刷新服务器端的数据 ,是用xmlhttp还是web service? 如何将.DBF在ODBC中链接,有很多选项,是VFP(table)还是其它的?请各位赐教 周末散分!!! 哪位高手帮帮忙,求客户端计数器程序 高分!有关Delphi界面的问题!如何实现象QQ那样的动画移动效果 c#,xml高手请进,小弟有一个非常紧急的问题,请指点。 lotus notes怎样连接多台服务器? 数据存放的问题 adodc+datagrid数据更新后,grid怎样及时更新? 请教 请问JDBC 中classes12.jar、classes12_g.jar、classes12dms.jar这三者有什么区别? 给小弟一个启示 寻电子商务领域合作-购买源码或合作开发 水晶报表显示时如何让它不出现toolTip提示信息? 开发Struts程序遇上的问题 如何启动Tomcat?? 在access中怎样给一个日期型的字段附空值???(在线等待) 快毕业了,我的烦恼?!!! 如何保存页面,一项一项粘贴他妈的太烦了! 在IE下执行servlet时为什么有些servlet可以正常运行,有些却提示下载文件? 如何把两个关联的DataTable 合并成一个DataTable 或者DataView 象数据库中的视图 在asp调用access数据库时出现错误( 在线等待) InstallShield Developer 7.0 East Language Pack 的问题!!! *****寻求好的Global.asa(在线等待)******* 大家快过来看看这个小程序!送分!来者有分! 学完操作系统的,将来能作什么工作呢? Insert一幅图片到Oracle数据库及从数据库中取出这幅图片的方法及代码(1) 如何将文本框设置成只读的,帮帮忙了!在线等待! MSXML如何使用,能否给一个较详细的例子 一阵风 屏蔽控件某个事件 使用MicroSoft DTSPackage Object Library开发的问题 逃离爱情 [原创] 如何动态使用web service 自动递增的字段数据类型,是否应该设置成number? 寻电子商务领域合作-购买源码或合作开发 讨论:如何用WinSock API 的异步选择模型(WSAAsyncSelect模型)构建一个多连接的服务器? 如何删除一个服务,如:OracleOraHome81TNSListeneroral;谢谢!!! 请问各位软件是如何控制硬件的? 如何判断输入的字符串长度?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘