通过最近的项目,对ECS有了更深刻的认识.感觉也到了通过一个新的框架&游戏来整理一下最近所得的时候了.

首先,基于做事情的原则,这个事情必须要通过完成一个完成度较高的游戏来完成.不然会没有目标驱动,光搭脚手架去了.

然后,技术选型上.在思虑了很久之后,放弃了我非常喜欢的Lua.在海外市场浸淫几年之后,发现热更新对于一些小产品实在是可有可无,不如把处理这些破事的时间,专注于其他模块.

ILRuntime在之前的项目中使用过之后,也决定放弃了,性能实在捉急,在一个小规模的产品上需要花费时间进行性能优化,在我看来是底层技术本身的问题(也可以说是我没领悟最佳实践).

但是我还是留一手,在底层集成了huatuo.理由很简单,它不会对游戏框架代码造成影响,我只需要将业务代码模块化即可,等产品做完之后,再考虑是否将这个模块打成dll加载. 正好这段时间可以静待他们框架成熟支持移动客户端,如果他们做得好,则开启热更新模式,否则直接跑native模式即可,对于上层业务的影响微乎及微.在没问题之后甚至还能反哺目前公司项目,非常不错.

囿于时间关系,其他的东西就不写原因了,先在下面记录一下选型和RoadMap.

第三方库

huatuo – 已集成,调试成功.

Entitas – 已集成入框架,分模块加载完成,业务模块搭建中,FairyGUI集成中.

FairyGUI – 已集成入框架,未跑通.预计5月中旬完成.

LitJson – 已集成入框架,未跑通.预计5月中旬完成.

GameAnalytics – 已集成入框架,未跑通.预计5月中旬完成.

Nakama – 已集成,待调试.

Luban – 已集成,待调试.

BundleMaster – 已集成入框架,未跑通.最后整合.

业务模块

UI – 预计5月中旬完成.

Resource – 预计5月中旬完成.

Network – 预计5月下旬完成.

Calculate – 预计5月下旬完成.