谷歌开发技术推广部经理胡坤:HTML5与Cocos2d-X
3月 31 日消息,Google 开发技术推广部经理胡坤在第四届 Cocoachina 开发者大会发表题为“HTML5与 Cocos2d-X”的主题演讲。
以下为演讲实录:
先做一下自我介绍,我是 Google 的工程师我叫胡坤,我是 06 年加入 Google 中国,今天我跟我的同事一块儿来的,我们外面有展台,如果大家有什么问题可以跟我们沟通。
我为什么站在这儿?原因比较简单,Google 赞助了 Cocos2d-XHTML5这款游戏引擎的开发,为什么要赞助呢?我们经过评审有很多理由,有一款理由是 Cocos2d-X太优秀了,我们没有理由不支持 Cocos2d-XHTML5的开发。
加速度和即 CX30 唯 CX30 这种平台性欲言又比较大的区别,依托于资源环境。
1、资源加载
平常用C++ 做开发,你需要关注C++,但是不需要太多的担心,毕竟图片、文本、视频都跟文件打包在一起。大家能不能回答一下在 JS 里面完成加载需要什么?你要负责所有的图片、字体、图像、音频,所有各种资源的加载。我们有一款没有开源的引擎,Cocos2d-HTML5做的非常复杂。这个图很精妙,我们只是给大家一个感觉,我们在设计之初就考虑了各种各样的问题,保证你在 HTML5 游戏引擎,在你加载资源和做普通的开发是没有太大区别的。最关键的一点,我们还细分很多优秀的经验,我们不仅帮你主动的加载资源,游戏可以设关卡,当你需要过渡到第 2 关、第 3 关我们可以提供一个接口,可以加载这些资源。
2、HTML5游戏引擎之性能
这个是所有同学第一个担心的问题也是提的最多的问题。我们分析一下,首先讲 Update&Draw,比如说大部分的休闲游戏不需要频繁的更新,除非个别场景。通常情况下,游戏引擎会把它分开,一部分做粗的更新,一部分做细的更新。我们经常看到早期的文章是这样说的,说它的性能不好,一快一慢,这种说法对于很多软件没有冤枉,但是冤枉了一款软件。后来我们分析这个问题,我们觉得其他软件还好,我们没问题满有自信。第二个问题大于 60 帧,有人讲他的游戏可以运行到 60 帧、80帧,现在最炫的浏览器也就是能给到 80 帧,对用户来讲没有意义,但是却耗量了大量的 UPU。第三个问题,Inner Timer——Fixed Tick。如果你的游戏没有消耗太多资源,如果遇到动机引擎就会出现刚才我们说的问题,你会感觉游戏太慢,浏览器有问题。第四个问题,最早用到的是最熟悉的画中画,实现画中画可以用两种方式,我们需要做一个小飞机,这个小飞机是一个图片,可以飞来飞去,这是一种画的方式。还有一种方式,我们把这个小图片包在里面,这样在移动的时候,这就留出一个问题,当时我们做这个试验没想到之间的性能会差这么多。所以,想让大家猜一猜,如果大家猜的比较接近的话会有礼品送给他。
我们刚才说的考虑的几点,在设计游戏引擎的时候都把它考虑进去了。不管你的帧显示多快就显示 60 帧。我们在设计 HTML5 的时间就想到了这个问题,就是对每个浏览器都支持。