网易首页 > 网易科技 > 正文

谷歌员工讲解HTML5与cocos2d-x

0
分享至


谷歌员工讲解HTML5与cocos2d-x

主持人:

下面有请Google开发技术推广部经理胡坤,他演讲的题目是“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的时间就想到了这个问题,就是对每个浏览器都支持。

下面我们请林顺给大家介绍一下Cocos2d-HTML5这款游戏引擎的设计。

林顺:

我给大家讲一点跟前面的东西不大一样的内容。

我讲两部分,这个引擎新的架构,跟其他Cocos2d的不同之处。再一个我怎么用Cocos2d去开发自己的游戏。先介绍一下Cocos2d-HTML5的技术特性,我们引擎是采用Javascript编写的,这么做的好处是最大化保留引擎的性能;第二方面,如果开发者想在引擎的框架上面继续使用JS的其他框架就不会受到限制。第三方面,这个引擎是从Cocos2d-X 派生出来的,API跟Cocos2d非常的接近。JS binding  API也是我们引擎特征,相信大家可以把这个引擎的使用做到很大能力的提高。

这个引擎目前跟其他Cocos2d引擎的不同之处体现在哪些部分?举个捕鱼达人游戏的例子,如果这个游戏用Cocos2d-HTML5来实现的话,会跟其他引擎的是先有什么不同之处?我们可以看到这个图会分为几个层,最上面那个层是浏览器原生支持;第二个层是圆形工具,支持其他语言带来的限制;第三层是正常语言层;背景层跟其他是一样的。从前面的介绍来看,Cocos2d-HTML5发布的第一方向是Cocos2d-HTML5引擎,第二个是实现本地化,比如说你的游戏要求性能特别高的,你的游戏特别的变态需要用非常多的性能,你还有第二个选择可以破解游戏代码。

我们有这么多发布的方向,Cocos2d-HTML5是Cocos2d系列里面跨平台最强的引擎,所向无敌。我们的目标是游戏通过Javascript编写完一次之后,小范围的修改,甚至是不用修改,直接可以跑在HTML5上面。HTML5的代码是一样的,但是底层影像的通过不一样,包括硬件圈,比方说资源的加载。HTML5能为-X、-iPhone开发者做无缝的过渡;采用cocos or cc为名字空间;使用、安装简单。我们在做之前给大家演示一下,相信大家对引擎目前的状态会比较感兴趣,知道我这个引擎目前做到什么样的状态了,如果做压力测试它会有什么样的表现。(视频演示)我们在不同的机器上测试过,可以看到在左上角上面有一个旋转运动的东西,它还是很稳定的转。这个时候的帧率有29帧,基本上在做一个动画的时候,支持1000个在上面跑不会有太大问题。

屏幕上面的代码我相信肯定是看不清楚的,这是是展示,如果你用C++代码移植到HTML5引擎上面有多大的差异?虽然代码看不清楚,但是至少可以看到很多东西是一一对应的。我们可以把细节的事件抽取出来做解释,这是跑完之后最简单的效果。俄罗方块的Demo,展示这个你会发现上面有Sprite的接口,这些都是做优化时用的接口,在HTML5上面也完全保留,可以对代码进行1:1的比值,可以提高速度。在Layer的集成和住表消息的处理上我举个例子,要往游戏中加一个Layer,在JS里面有多种集成的方法,但是为什么会选择这个有几个原因。第一,这个经过测试效率是最高的;第二,这种编程方式更接近C++程序员的编写习惯,作为我们本身也是从C++语言过来的,引擎的资源也跟这些比较接近。

游戏的移植和开发:C++API就是CCDirector;到了JS API就是CC.Director。看过这个演示之后,大家对API的分装格式有了很清晰的了解,如何用这个东西做一个快速的游戏资源移植,就比较了解了。

跟大家说一下RoadMap,在HTML5引擎上面会率先推出一个游戏,肯定会拿捕鱼达人来做试验,也给大家建立一个信心,我们的引擎是经过验证的,游戏代码安全方面都是通过验证的。接下来就是做多浏览器兼容,最终的目标就是会实现代码在各个平台上进行快速的发布,可能会存在非常小范围的代码修改,但是最终我们会往不需要修改代码的方向上靠。

以上就是我给大家介绍的HTML5引擎部分。谢谢大家。

提问:

我想问HTML5开发完游戏之后,移植到不同的移动设备商,需不需要再配置不同的文件?Android、iPhone都需要配置不同的配置文件。

林顺:

我们不需要,已经把不同平台的差异掩盖掉了,只要用过Cocos2d-X的话,这些都不是问题。

提问:

基于现在Android的手持设备它的分辨率众多,HTML5这个引擎是跨平台的,分辨率的问题具体怎么解决?

林顺:

这个问题在于PC上会得到更大的体现,因为浏览器分辨率的大小可以随时拖动,看一个网页或者玩儿游戏太小了可以拖大一点,或者拖小一点,这个比Android来的更棘手一点。但是没有问题,如果设计一个游戏做一些改变有很多方式来处理,比如说一个Sprite可能不相关,采用相对的分辨率。比如说捕鱼达人,炮台位置永远是靠在最下面,无论如何改变肯定是处在最下面的正中间,上方和边缘要相对调整,所以可以把游戏设计里面的UI元素和Sprite进行分组,一部分是跟屏幕有关系,另一部分跟相对位置有关系,窗口如何放大缩小进行调整就不会有问题。

提问:

在做HTML5游戏的时候肯定要联网,基于开源性的脚跟可能安全性也是我们要考虑的问题。不知道HTML5方面这个是怎么解决的?

林顺:

首先,肯定走混淆器这个路,在代码量很小的情况下反向工程就很容易。但是引擎的代码本身跟游戏代码本身加在一起,代码就有一定的数量,这个时候进行混淆的话,比如说游戏代码写的特别好,特别公正,那么混淆的结果就会比较好,这时候你工作量就很大了,就不容易破解了。

第二,既然是互联网的应用肯定有服务器支持,把很重要的算法放到服务器上,做两边的验证。包括你的IP,肯定要重点保护这些数据,肯定需要服务器来做验证,如果只是终端保证这份东西,风险还是很高的。比如说上午举的APP的例子,比如说疯狂城堡,已经是加密方式,但是还是不能组织热情的用户进行网站的QE。同样的加在服务器上的话,可能会有比较好的效果。

相关推荐
热点推荐
学习诈骗套路后为打响知名度“收徒”,男子竟将作案过程直播

学习诈骗套路后为打响知名度“收徒”,男子竟将作案过程直播

澎湃新闻
2024-03-19 11:40:41
黄仁勋甩出最强AI核弹,GPU性能暴涨30倍,瓦力机器人惊艳登场

黄仁勋甩出最强AI核弹,GPU性能暴涨30倍,瓦力机器人惊艳登场

智东西
2024-03-19 11:15:18
皮尔斯:詹姆斯年纪大了需要退一步 他做得越少对球队就越有好处

皮尔斯:詹姆斯年纪大了需要退一步 他做得越少对球队就越有好处

直播吧
2024-03-19 07:02:11
博主:华为Mate70虽稍逊Mate40 但综合实力依然强劲

博主:华为Mate70虽稍逊Mate40 但综合实力依然强劲

手机中国
2024-03-19 06:32:12
两会顺利结束,六大民生提案没有通过,有点遗憾

两会顺利结束,六大民生提案没有通过,有点遗憾

庞明说财经
2024-03-19 10:30:25
昆山严查178亩林地成固废填埋场:涉事地块跨省倾倒泥浆案告破,7人被抓

昆山严查178亩林地成固废填埋场:涉事地块跨省倾倒泥浆案告破,7人被抓

上游新闻
2024-03-18 23:03:40
美军公布六代机最新进展,预计将在2030年左右取代F-22战斗机

美军公布六代机最新进展,预计将在2030年左右取代F-22战斗机

环球网资讯
2024-03-19 06:34:51
闹大了!在美中国留学生开保时捷弹射:女生腰断了,两人在抢救

闹大了!在美中国留学生开保时捷弹射:女生腰断了,两人在抢救

影视解说阿相
2024-03-18 21:32:18
今年清明不一般,60年一遇,上坟一定要慎重,别犯了民间的5个忌讳

今年清明不一般,60年一遇,上坟一定要慎重,别犯了民间的5个忌讳

旧梦初醒已千年
2024-03-18 12:15:20
惊天反转:凯特刚刚突然现身!英王室将宣布重磅消息!“和威廉购物,很开心放松、健康!”

惊天反转:凯特刚刚突然现身!英王室将宣布重磅消息!“和威廉购物,很开心放松、健康!”

澳洲红领巾
2024-03-18 14:05:40
男子微信买彩票中1001万,奖金却被彩票店老板表哥冒领,“对方领走奖金后,在海南买房并离婚……”

男子微信买彩票中1001万,奖金却被彩票店老板表哥冒领,“对方领走奖金后,在海南买房并离婚……”

都市快报橙柿互动
2024-03-19 10:54:49
局长突然去世,全局只有一个女人吊唁,三年后女人被提拔为局长

局长突然去世,全局只有一个女人吊唁,三年后女人被提拔为局长

乔生桂
2024-03-18 10:52:39
刚刚,哈马斯确认“梅花A”遭以色列斩首

刚刚,哈马斯确认“梅花A”遭以色列斩首

西楼饮月
2024-03-19 09:05:23
甘肃天水一理发店连夜“爆改”成麻辣烫店,股东:太火了,全是游客

甘肃天水一理发店连夜“爆改”成麻辣烫店,股东:太火了,全是游客

极目新闻
2024-03-19 09:32:22
恭喜!2.28米张子宇入选U18女篮集训队 有望首次征战国际比赛

恭喜!2.28米张子宇入选U18女篮集训队 有望首次征战国际比赛

醉卧浮生
2024-03-19 11:57:59
“承认”共属中国?台当局做对了!当着各国的面,台岛认祖归宗?

“承认”共属中国?台当局做对了!当着各国的面,台岛认祖归宗?

星辰故事屋
2024-03-18 20:05:10
南航将于4月1日新开北京大兴—澳门直飞航线

南航将于4月1日新开北京大兴—澳门直飞航线

北京商报
2024-03-18 20:45:20
第一次搭飞机!朝鲜奖励共产党母亲,送妈妈们搭55年老飞机上天

第一次搭飞机!朝鲜奖励共产党母亲,送妈妈们搭55年老飞机上天

孤独的独角兽影视
2024-03-19 09:00:07
威廉王子夫妇终于合体了!凯特穿休闲装拎着购物袋,依然活力满满

威廉王子夫妇终于合体了!凯特穿休闲装拎着购物袋,依然活力满满

八八尚语
2024-03-19 07:11:41
网传贷款逾期人数高达4.3亿,银行人透露:根本不敢起诉,法拍都平不了账

网传贷款逾期人数高达4.3亿,银行人透露:根本不敢起诉,法拍都平不了账

火锅局
2024-03-19 09:27:43
2024-03-19 12:56:49

科技要闻

1块顶上代5块!英伟达新王牌让世界用上AI?

头条要闻

班主任称被杀学生和3名嫌犯关系很好:未发现校园霸凌

头条要闻

班主任称被杀学生和3名嫌犯关系很好:未发现校园霸凌

体育要闻

温水煮青蛙,最后发现自己才是那只蛙

娱乐要闻

李惠利发声道歉!柳俊烈劈腿确凿

财经要闻

"围猎"三丰智能:合作方可能无实际业务?

汽车要闻

新能源车自燃率更低?院士9个数据错8个

态度原创

数码
教育
旅游
房产
公开课

数码要闻

1秒处理超1TB数据!SK海力士全球首家量产HBM3E内存

教育要闻

独家探访中戏动作表演专业方向招生复试现场

旅游要闻

中国免签“朋友圈”再扩容

房产要闻

杨浦定海街道154街坊地块项目公司拟37.5386亿元正式挂牌转让

公开课

张雪峰:想多挣钱,得学理工科

无障碍浏览 进入关怀版
×