目前引擎再大力发展包括渲染,物理,插件等等功能.这非常nice.但作为游戏引擎,终极目标是让使用者快速上手.
我一直认为一个好的游戏引擎一定是上限高,下限低的引擎.
上限高意味着他不阻止使用者干任何包括各种疯狂的事,甚至能替换所有渲染管线写出符合自己要求的画面,包括其他功能模块.所有功能模块都能做到抽取和替换.一切功能接口都能用code来实现.甚至只要愿意,不用开编辑器就能写出一款游戏.这就是极致的掌控.当然随意挥洒创意写出各种效果,更是不在话下.在此基础上让使用者有更少的心智负担则会更出色.
下限表示开箱即用.对于游戏一窍不通的小白,仅通过编辑器就能拖拉组件,动画编辑器编辑动画和运动逻辑.事件触发来发动逻辑,做到低代码和无代码编程.迅速完成一款简单的小品级游戏对于初学者是会极大提高兴趣和动力.对于一般使用者也会带来极大的效率提升.
目前Unity的上限不错,有公司通过深入改造替换管线写出了不错的效果.说明是有潜力的.但不是人人能办到.说明还要进一步降低改造门槛.但最为人称道的是Unity的下限,拖拖拉拉和极为甚至傻瓜化的标准库加上海量的插件能让许多游戏策划都误以为自己也能开发游戏.这一点上cc是远远做的不够的
目前几天接触cc下来,缺少很多开箱即用的功能.这些功能可能懂点线性代数,3D图形学或者AI,自己写都不是难事.但对于这些人,用啥引擎都没有啥问题.cc需要更多方便易用的功能.更何况目前cc针对的都是中小型项目和面向小平台.那开发更需要短平快.从这点上来说,别说unity.就是godot,cc也缺乏和他们的竞争.
比如godot拥有很多curve的生成,甚至还有烘焙curve功能.组件甚至直接提供了路径点跟踪,路径点生成等各种功能.2d/3d都有.godot的vec功能很强大,朝向,转向,求反弹,旋转转换应用尽有.cc这方面都有所欠缺.还要自己去写贝塞尔,路径跟踪还需要自己打点,甚至很多人都是通过unity生成导入到cc. godot开箱即用的2d灯光,y轴排序,屏幕截图等等都是开发一款游戏非常需要的.cc不是没有直接提供就是需要自己写shader或代码.不够小白化.godot的visual shader editor对于cc也是欠缺的.开发微信小游戏,明显感觉到godot的代码量更少(组件更多),而cc开发效率较慢(也可能自己不够熟练).看到社区也在提供自己的visual shader和StateMachineBehaviour 这是非常好的现象,但使用者终究希望最终有官方自己的实现方案.当然一款顶级引擎任何必不可少的功能组件一定要有官方实现,比如2D的骨骼动画,TileMap,不管Unity,还是Godot都自己实现,虽然有强大如Spine2D和Tile,但这些引擎都选择自己实现,社区提供其他中间件的插件.我想肯定有其理由所在.虽然cc的人手估计不够,但重要的常用的东西,最好引擎组自己把控在手里.
我看到在上限这块cc再持续发力,正在不断的冲刺.希望在易上手,开箱即用提供很多便利实用的功能组件和函数免得我们再去查论文,看算法,推公式.衷心希望cc越走越好,做国产No.1
PS:cc我个人只写了没几天,一些小demo.和一个完整的游戏.并没有通盘了解.如果有误解或者说有内置解决方案造成以上论述错误还望纠正