广州第九艺术CTO柯达昭:如何提升页游引擎
时间:2012-09-05 17:25:00 来源:聚侠网 作者:现在网页游戏技术水平越来越高,画面越来越好,尤其是以3D画面页游水平颇高。而炫丽画面的实现离不开游戏引擎,提到引擎大家很容易想到客户端游戏引擎和主机游戏引擎,但事实上传统的客户端和主机游戏引擎与页游游戏引擎有很大不同,相信大家对页游引擎和技术规格很好奇,究竟它们之间有什么技术区别?新的引擎能带来多大游戏性能及画面提升呢?
原网易《大唐》系列图形引擎设计者,现在的广州第九艺术网络科技有限公司CTO柯达昭致力于高性能mmorpg服务器结构设计、基于延迟渲染的新一代图形引擎设计以及优化、基于flash3D技术的DeltaX图形引擎优化以及微型mmo客户端技术的研究,本文就由他来帮我们解答疑问。
第九艺术网络CTO柯达昭
端游与页游引擎的不同
记者:您在图形引擎的设计和性能优化方面有非常丰富的经验,现在对页游引擎也做出了很多深入的研究,能够根据您的实际体会简单介绍一下端游与页游在引擎方面有哪些不同?
柯达昭:引擎由于游戏的类型不同会有很大的区别,即便是最常见的mmorpg引擎相互间也有很大区别,例如:即时和回合的、2D与3D等等。页游和端游服务端的选择是一致的,但客户端引擎的选择就有很大差别了。2D引擎因不管是端游还是页游都已经相当普及。目前端游客户端引擎以3D为主,页游3D引擎刚刚起步,所以页游3D引擎可以在端游上借鉴的地方很多。
端游和插件式页游引擎的主力语言是C/C++,页游引擎的主力语言是AS(Action Script)(adobe也提供了一个商业工具Alchemy将传统的C++代码搬到在flash player虚拟机上运行,据说能达到C++效率的80%)。显而易见AS的效率和c/c++是有很大差距的,但是AS最大的好处是跨平台(浏览器、操作系统、硬件),而且AS的插件flash player在所有的插件里面具有最高的用户接受度,这些都可以成为选择页游引擎的考虑因素。
我们公司的《封神无双》就是基于as的3D页游,而《大明无双》则是基于C/C++的3D页游,我们在这两方面都在做尝试。
记者:当今页游行业发展非常迅速,玩家对于游戏的画面要求也越来越高,页游很重要的一点就是效率优化,请您简要分享一下在传统客户端游戏和网页游戏的载体不同所导致资源管理以及效率问题?
柯达昭:页游引擎区别于端游的一个很大的地方在于资源管理。端游的数据在本地硬盘上,不需要消耗网络资源,而且读取相当快,因此数据的大小并不重要。但是对于页游而言情况完全不一样,所有的客户端用到的数据都必须即时从网络上获得,因此必须要最小化资源量,能省则省,尤其是选服到进入游戏场景这段时间的数据量尤为重要。数据量的大小直接影响进入游戏需要的时间,也就是会直接影响玩家导流的转化率,最终会反映到用户成本上。因此要尽可能的利用本地缓存以及减少资源的更新。
效率的优化在基于AS的3D页游尤其重要,AS本来效率就远不如C/C++,3D页游在计算量又远大于2D,因此通常效率的瓶颈会在CPU,而非GPU。一般而言,2007年以前的cpu跑基于AS的3D页游将会比较吃力,但是跑基于C++的插件页游情况会好很多。将尽量多的计算转移GPU是优化Flash时的一个重要方案,同时也要尽量减少多余的代码和函数调用,因为as编译器能做的优化实在是相当的少。
从端游开发到页游
记者:请您根据在端游页游两个不同产品领域的经验,为开发者们分享一下从端游开发者过渡到页游开发,有哪些方面需要继承和改变?
柯达昭:端游整个开发流程和工具都是可以沿用的,更多的应该是开发的思路的转变。页游区别于端游的最大的地方就是快,发展快、开发快、用户进入快。市场机会稍纵即逝,因此在最短时间内开发出最适合市场的产品。
记者:延迟渲染技术对于游戏的表现力主要体现在哪些方面?有哪些游戏采取这种技术?
柯达昭:延迟渲染最大的好处有两点:一是支持非常多的动态光源,二是可以有非常多的或处理效果。现在端游上使用延迟渲染的很多。
例如孤岛惊魂、星际争霸2等等,但在页游上使用的还非常少,我们在《大明无双》上应用了这个技术,效果相当棒。相当遗憾的是目前在Flash11上不太容易使用这个技术。
记者:针对页游,在引擎的选择方面您有哪些建议?
柯达昭:这是一个老生常谈的问题,是自主开发引擎还是使用现有引擎?自主开发引擎具有最大程度符合产品,功能变更相当便捷,同时使用起来也会有最高的熟悉度。但是开发难度相当大,维护成本也很高。成熟的现有引擎正好相反。3D引擎包括工具和渲染器,工具是可以和端游完全一样的,建议已经有成熟引擎的团队直接开发一个页游的渲染器即可,而从零开始的团队可以考虑使用成熟的页游引擎。