这两天非常偶然的接触了一下cocos creator. 接触的很浅,照着官网的教程走完了“快速上手:制作第一个游戏”这部分,完成了一个小demo。然后试了试vscode 断点调试js.网上找了一下cocos creator 如何使用shader,用到了这个小demo 里。
接触cocos creator 几个小时下来,第一感觉是跟 u3d 很像,都是在编辑器里拖拽,代码以component 的形式挂载到各个 node 上面。但是cocos creator 各个工具集好像又不像 u3d 那么健全,比如不同的资源类型,比如 particle,spritesheet ,spine等资源,还是需要配合各个编辑器才能编辑,cocos creator 里面并没有集成进去。vscode 调试 js 时而不灵,应该是我对 js 的调试所必要的 条件少了一些认识,少了一些配置导致的。但至少在chrome 的 开发窗口里,调试 js 还是ok 的。感觉时间好像倒退了2年半,我在上一家公司刚刚接触egret 的时候,js,typescript,webstorm,websocket,全新的各种编辑器,各个 sdk 接入 ,那时候所有对技术我来说都是新的,做起来感觉挺有趣。时隔2年,好像自己还是没什么长进,折腾一圈又折腾回来了。
cocos creator 教学官网里,有一节叫做 "cocos2d-x用户上手指南",指出了几个典型误区。对好入座下来,发现自己一直深陷其中2条不能自拔。
第一个误区,叫做 "先搭建整体代码框架,再堆游戏内容"。按照自己的理解,cocos creator 也好,u3d 也好,正确的使用方法是 ,一上来就直接堆游戏逻辑,几乎不要开发人员操心游戏底层机制和 框架,你只要把你想要的 gameplay 往上累就ok 了。而以前的自己每次开个新坑的时候,总是写了各种manager,各个factory,新建了好几个 内容几乎是空的class,并纠结于其中的 继承、集成关系很久,几个空空的 .h .cpp 文件,每每让自己脑洞几个小时。等真正开始往上写逻辑了,常常过了当时的心气,最后只留下了几个以后自己也看不太懂的框架和空文件。看来自己也应该用力改变自己的想法,贴近新时代的主流思潮。
第二个误区,叫做“用继承的方式扩展功能”。按照自己的理解,就是在使用 cocos creator / u3d 这种游戏引擎的过程中,如果希望拓展一些功能,不要自己对原生的 各个class 继承来达到这种目的。而是应该采用另外的做法: 增加 component ,制作成 prefab,来实现定制和扩展。其实这一条和上面一条略有相似,宗旨都是不要自己过度设计,直接往上堆gameplay 就好了。
另一个直观的感受,就是由于自己暂时还没有闹明白vscode 有时无法调试 js 代码的原因,导致调试代码,代码编辑都很不方便。在macbook air 的屏幕尺寸大小下,感觉开着编辑器,希望一遍看效果,一遍调试代码,屏幕非常局促。在无法调试的情况下,按照自己现在临时的做法:使用 chrome 的 开发人员界面的功能来调试 js,感觉屏幕就显得更加局促了。
通过几个小时的接触,对自己的好处是,让自己发自内心的感觉,自己在很多对游戏开发的认知上比较落后,应该拥抱时代,接触新鲜事物。接受使用更为便捷的游戏开发工具,理应直接开始游戏逻辑开发这一理念。并且,cocos creator 也好,u3d 也好,实际开发起来,肯定比没有编辑器的纯代码手写(比如love2d),要便捷多了。
最近在公司的工作生活略有起色,正在开发一个相对有趣的玩法功能,并开始有代表公司去面试他人的机会。同时,也越来越迫切的感受到自己技术广度,深度都有真深深的欠缺。眼看就快30了,“中年危机”感愈发强烈。对比朋友圈里晒创业的曾经的同事,羞愧感油然而生。。