由延趣游戏研发的古风模拟经营游戏《叫我大掌柜》上线至今已有一年多,在这段时间里,游戏不断充实内容、迭代优化,连宣发也在升级,成功吸引并留住了一大批玩家。在 Cocos Star Meetings 厦门站中,《叫我大掌柜》主程格兰和我们分享了该项目 App 和小游戏双端的技术开发经验。
以下是分享实录:
《叫我大掌柜》是一款面向全球发布的模拟经营游戏,目前已在8个国家或地区的多平台以多语言发布,所以也充分榨干了 git 的功能,做到内容版本快速更新迭代。
项目立项时间是2019年中,当时只考虑发布 App,选择了比较新的 Cocos Creator 2.2.2 开发,UI系统编辑使用 fgui 来设计,主要看中其支持多语言多区域功能。
小游戏版是在2021年4月投入研发,使用的是 Cocos Creator 2.4.4,后面升级到了 v2.4.7,跨度不大,升级比较简单。v2.4.x 开始支持 AssetBundle 功能,可以代替之前版本子包功能,性能更佳,也能更好地支持微信等小游戏的子包功能;另外升级也是考虑到对后面的 Creator 版本升级会更友好。
我们项目不希望玩家强制 App 强更,因为 App 强更可能会造成用户流失,所以该项目就不能进行 App 版本引擎升级,其中代码也无法做到分到各个子包中,导致代码只能放在一个子包里面,随着版本更新,代码量会越来越大,而当前项目子包只做资源管理更新。
由于项目中存在两个 Cocos Creator 引擎版本,但是项目代码却只用一份, 所以我们也做了一套引擎 Api 兼容中间层,主要体现在资源加载管理和部分材质相关的代码。
本次我将分别介绍《叫我大掌柜》App 和小游戏两个版本的技术研发经验,抛砖引玉,供大家参考。
App 技术分享
多打包机打包
及热更、远程资源管理
如何高效打包热更包?针对这点,我们在 v2.2.2 的基础上进行了修改优化,若是较高版本的 Creator,可结合引擎热更逻辑判断以下几点是否可用。
主要方案如下:
更新超时时间不与更新文件数量关联,单个文件的超时时间也不与文件大小关联,而是整体超时体验可控、可配置。解决在热更过程中需要考虑到网络波动导致个别文件加