谈谈游戏引擎的愿景

目前引擎再大力发展包括渲染,物理,插件等等功能.这非常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.和一个完整的游戏.并没有通盘了解.如果有误解或者说有内置解决方案造成以上论述错误还望纠正

8赞

说的很好。下限低,群主基础就好。上限高,曲高和寡。

我也提过,ccc缺少一个好的产品经理,解决用户的痛点需求。

tiled,骨骼动画这些一定要引擎自己实现。
ccc回答:人手不够,你们可以用第三方。

一些游戏里常用到的功能组件,楼主说了不少
ccc回答:暂时人手不够,你们可以先自己实现。

ccc确实人手不足,但友商不会等你。
一旦友商的tiny成熟了,可以直接在微信上跑,ccc就真的没有什么优势了。。。

说的很好,不过大哥你是怎么做到中文夹杂着英文标点的?打一句切换一下?

1赞

中文输入法设置默认半角

就看引擎组如何看待和定位了.这些东西要做好不容易,但要先做出来却不难.初期也花不了多少人力/天.以后慢慢增强补齐.

骨骼动画?你说的是 dragone bones 和 spine?

laybox 现在小游戏平台的 3D大作已经有了

还是要多多支持国产游戏引擎,谁知道美帝会不会禁止我们使用unity

3赞

不过个人觉得完全第三方成熟的软件,比如tiled,骨骼动画,cc支持好就行了,术业有专攻。
不过常用的组件真的可以多出一些,多多益善。。

官方只要做好拓展性,这些都可以解决。大不了收编插件开发者就好了。Unity自己也是收编了不少插件。

1赞

的确,像楼主说的,ccc目前上限不高,易用性不够好。

ccc上限不高表现在:

1.游戏目前只能专注于中小型的h5游戏,大型h5和原生游戏没什么大作出现,社区里讨论的也主要是小游戏小功能,开发者都被困在这个小圈子里了,就像国足一样,突破不出亚洲。

2.ccc3d起步晚,11年开始出2dx,直到19年末才出第一个ccc3d正式版,共花了8年时间。现在这市场经济时代,充满竞争,你不行动别人会抢先一步,所以目前laya占据国内引擎3d h5的80%市场份儿,而laya3d也就比ccc3d早2年出而已。这只能说是ccc的产品经理的锅,当初远见不足,总说只专注2d,3d以后会出,但竞争对手可不等你。

ccc易用性不好表现在:

2d还稳定
3d API写的不够友好,自己摸索着写的,开发者使用走几步就遇一坑。laya就很聪明,api都尽量抄着unity来写,所以吸引了一大批unity开发者来使用,坑也有不少,但是整体比ccc3d少

1赞

ccc不能开发大型游戏的原因主要是,项目不能支持大量的资源,一旦超过5000个资源文件编辑器就开始卡,超过10000个就卡得妈都不认识,一般电脑还抗不住。相同情况,这么多资源,unity是抗得住的。国内引擎laya和egret也不会卡,而且他们还有个运行目录bin,把数量庞大的资源丢在这个目录就好了,编辑器不用读,运行时再读取,所以不卡。目前h5端的大型游戏主要是laya和egret开发的。

所以也希望ccc能出一个和laya类似的bin运行目录,把不常用的资源丢在这里。或者出一个类似flash的swf的资源压缩包,项目运行时提取压缩包里的资源。这些做法都能避开项目因为资源多变卡的问题。这样开发大型游戏就不是难题了

3赞

Unity的tiled已经是年久失修,好几年前的东西,反而是cc在tiled是跟上了。
cc的骨骼支持跟进也一直非常可以的。

cc在国内各平台的支持上目前没有一个引擎可以比得上的,是最大的优点。
Unity的tiny就别说了,一直是半成品无法商用的状态。
godot自己适配各平台不是做不到,但绝对不是易用。
如果适配steam、ps的平台就真正意义上的全平台了。

cc目前最需要解决的是性能、巨大资源管理,这是做大项目的基本了,否则永远是做小游戏的印象。
然后就是扩展,这是后续各种组件的支持,和扩展生态的基础。
然后才是补充各种各样组件、培养商店生态的时候。

3赞

我就想要一份开箱即用的原生游戏引擎,功能可以不多,但是稳定高效。

楼主说的“上限”、“下限”很形象,下限其实就是低代码开发,我们正在做“脑语言”。引用你说的“海量的插件能让许多游戏策划都误以为自己也能开发游戏“,这就是我们的目标以及目前的效果。cc官方专注在上限能保证功能在有限时间内更强大,让其他开发者做下限的功能,让游戏更易开发,这是一个良好的生态!
主题“谈谈游戏引擎的愿景”,我对游戏引擎的愿景是“无处不在的扩展!”
这个机制让“所有代码可即时编写、即时使用、即时共产”
白话是你或其他人写的或网上找的或论坛发的或官方的api或整个项目或某个代码片断都可以直接运行,直接看到运行结果,直接保存下来,下次自己或其他人可以直接使用,这些代码不仅是cocoscreator的代码,还包括javascript、typescript、node.js、html、css、sql、vue、element等游戏或非游戏的代码,以便实现“代码的共产”(共产指共同生产,与协同开发类似,但更进一步),如果程序员写的代码、策划写的数值、美术画的素材、音效师做的音乐是智慧作品的话,这种机制也许能“广集天下智慧”!脑语言已实现了这个机制,但想共产需要其他人了解并使用这个机制,不容易^︹^

不用5000,你高看它了,日常卡死如同家常便饭,500都没到,动画拖动一旦超过50张图片不卡死一次我都觉得是奇迹!!!!!你懂的

1赞

cc最大的问题是编辑器问题,而不是上限或者下限问题,如同国足,永远的解决不了,如果能解决编辑器问题,那应该就是国足踢出亚洲的时候了,没有夸张成分,没有夸张成分,没有夸张成分,

2赞

这应该是electron的痛点

unity 的 tiny 已经死掉了,很久没消息了。但是不要以为h5是搞小游戏的唯一方案,还有种东西叫云。
其实unity也在这方面有行动了 https://www.gameres.com/876798.html
如果未来几年被unity搞起来,各平台的小游戏质量都有质的飞跃,小游戏市场也被unity占领的话,国内各大h5游戏引擎都会game over

1赞

听我的建议,模仿laya做个bin目录,把部分资源放里面就搞定了,比如地图资源,npc资源,还有个别不常用的弹窗资源放在这个目录下,游戏运行的时候动态加载,因为编辑器不会读bin目录,所以不卡。

1赞