下载 App
开发复盘|首包从约64MB降到约7MB,排行榜和成就的坑
11/0529 浏览开发交流 包含 AI 合成内容
大家好,我是《跳弹名侦探》的作者,这是一款用 TapTap 制造做的竖屏足球反弹解谜。上线后平台提示启动率偏低,我花时间优化了首次加载和前一分钟体验,又接了成就和排行榜。有几个坑可能对大家有用,整理一下。
【首次加载】
一开始,必须下载完才能进游戏的内容约 64MB。查下来大头是模型,其中 1026 个模型(约 28MB)只出现在打包清单里,实际没有任何地方引用。清掉之后降到约 36MB。
然后按案件拆分:启动和第一关用到的模型留在首包,其他案件的模型和预制体改成玩前一关时提前下载,没下完就在进关时提示重试。这一步降到约 7MB。
材质表也占地方:几千个条目里真正不同的只有几百个,改成共享表后,这个文件从 2.88MB 降到 0.68MB。
启动时的着色器预热挪到了第一个案件的加载卡片里,标题页不用再等它。
【前一分钟】
我数了一下新玩家从打开游戏到踢出第一脚要点几次:17 次。精简开场对话、让新玩家点开始就直接进第一关之后,降到 7 次。建议大家也数一数自己的游戏。
【成就】
我这边的 Maker MCP 工具列表里没有成就工具,是在开发者中心网页上建的。成就发布后不能删除,所以游戏里的重置存档不要清成就,否则游戏内和 TapTap 上的记录就对不上了。
【排行榜(clientCloud)】
第一个坑:昵称接口返回的 userId 是浮点数(比如 117162988.0),clientCloud 给的是整数,直接转成字符串比较永远对不上,榜上就全是兜底名字。统一成整数字符串再比。
第二个坑:我这边实测,BatchSet 里的 Delete 回调成功,但排行分还在。如果要清零,需要写 SetInt 0。
第三个坑:不要用本地存档的分直接覆盖服务器。SetInt 是覆盖写,存档重置后玩一局低分,就把高分冲掉了。我现在是启动时用 BatchGet 读回自己的分,比服务器高才上传。
以上是我这个项目的实测结果,不一定适用所有情况。有更好的做法欢迎指出,也欢迎来试玩《跳弹名侦探》交流。












