从CocosCreator,Layabox,Egret到Phas
开头必须说明一下这里写的东西大多是个人主观感受,没太多客观内容,完全是一次吐槽行为,请多担待。
前些日子微信团队要开放微信小游戏的消息在行业里让不少人燥了起来,大伙不约而同的叫着小游戏要火,HTML5游戏春天要真的真的来了。作为一个游戏行业的码农本能的就想看看这些第一时间站出来说自己如何一键发布到微信,如何全平台通吃的游戏引擎。
前几年一直在做手游,用的是Cocos2d-x,所以想到的第一个引擎就是从Cocos2d-x发展来的CoccosCreator。从官网下了stable版本,编辑器运行起来,看看界面,嗯,不用说啦应该是程序员拼的界面,凑合着也能用。另外不用避讳的是无论从UI还是现在的架构都是仿的Unity,当然工具嘛,好用就行,管它是仿的还是原创的。游戏场景直接在编辑器上显示,所见即所得,不错不错。然后编辑器上提示滚动鼠标滑轮可以缩放场景哦,我试了一下确实是哦,但是等等现在看到的场景是缩放了多少来着的,怎么没有地方标示出来,作为强迫症患者的我有点慌了,现在看到的场景是放大了50%呢,还是75%呢,不知道。我知道Unity里在场景编辑的时候也有这种缩放的操作,而且也不会告诉你缩放多少了,但是人家那本身是一个3D引擎,人家是世界和摄像机的概念,没有参照,也没有缩放场景的概念。但你CocosCreator是2D引擎啊,做2D的都会有一个窗口做参照,缩放了自然就想着现在是缩放到原来的百分之多少,你这样一个编辑器你让习惯了PhotoShop这些工具的人怎么适应啊。不过这个呢只会影响做美术的朋友么,我不是码农吗,这个我忍了。按照官方教程,用VS code打开了代码,咦,这里怎么报错,不是说好的stable版本吗。再仔细看了一下是引擎的TypeScript声明文件出错了,中间的一段代码里面混入了几个乱码……这是什么样的版本管理才会出现的低级错误,这是什么样的QA流程才会把这样的版本发出来当成stable版本。好在删掉这几个乱码,一切就正常了,好吧,我再忍!听说现在都说CocosCreator+TypeScript很配哦,我来试一试。ChildClass和SuperClass是什么鬼,我不是创建了一个HelloTypeScript工程吗?这个工程的模板代码可以这样随意的啊。打开代码,咦,怎么有各种好奇怪的用法,你们是要把这个语言最新的特性都放到一个模板文件里吓唬初学者吗?我忍无可忍了,我放弃还不行嘛。
继续Google...
这个看起来不错哦,核心理念都来自Flash,做2D游戏的,有谁不知道Flash呢?开发语言选择还很广,可以直接用ActionScript哦,正好最近做的项目里面用的就是ActionScript,熟悉。嗯,这个引擎叫Layabox。打开它的编辑器一看,这不就是VS code吗,哦,不对,人家是把VS code改了做成了自己的编辑器,没事就一个IDE嘛,无所谓的,好用就行。创建一个ActionScript工程,调试~ 咦,怎么断点无效啊,日常的开发当中没有好的调试器这个是要了程序员的命啊。
继续Google...
哦, Egret这个号称HTML5游戏中占有率70%哦,看看~ 嗯,看了一下文档,引擎架构看起来也是来自Flash,不错。哦,WebAssembly也支持,看来蛮与时俱进的。打开编辑器,怎么又是VS code,看来大家都把VS code当免费午餐了,懒得自己弄编辑器就直接把自己的东西网上套,无所谓了。新建了一个工程,想着写几行代码,咦我的快捷键怎么不起作用了,我不是刚按装的VS code的插件嘛,而且VS code插件管理器上显示一切正常呀。重装插件,一样……
题后记:
最后折腾了一个礼拜觉得还是完全开源而且商业化还是没那么重的Phaser好啊,一个是github上star数也有快3000了,另一个人家不想做自己的编辑器,开发环境提倡自力更生……