|
微信小游戏首屏启动优化,你get到了吗?-绍兴微信小程序开发为你呈现时间:2020-06-06 同学们,报名虽已截止,距离小游戏提交作品还有一段时间。好的idea,扎实的skill都是你赢得大奖的重要因素。作为小游戏的开发者,想必也十分清楚,一个好的游戏,最主要的是要给玩家一个完美的体验~ 完美的体验便是留存的决定因素。此时,游戏启动作为“第一体验”,是衡量一个游戏好坏的重要标准,启动时间直接决定了玩家的留存率。 这么重要的小游戏首屏启动优化技能,你又get了多少呢?本次,我们为大家准备了小游戏提升“干货”,希望大家能很好的利用起来哟~ 小游戏首屏启动优化 01 优化启动的意义 衡量一个游戏好坏的一个很重要的标准就是留存,而启动时间直接决定了第一波玩家的流失率。当用户打开游戏,满怀期待的等待游戏开始。最好的情况是游戏在1-2秒内给与反馈,或者能让用户进行下一步操作。 首次打开时,由于首包需要从服务器下载,都存在一个等待过程。在这个等待的过程中,用户的忍耐度将会慢慢降低。 如果游戏在2-5秒之后才进入可用的状态,首屏留存便会受到影响。如果游戏超过5秒甚至更久才显示首屏,此时用户的耐心可能完全消失,这将导致部分用户可能会选择退出后重新进入,但更多的用户可能会放弃使用。 所以,可以说首屏速度直接决定了用户是否选择体验游戏的关键。 02 启动性能优化 ◆首包优化上面,根据官方建议尽量减少首包的大小。由于我们对引擎有定制,所以暂未使用引擎插件能力的首包中,最好只存放了引擎及基础的启动代码(大小为1.5M)。如果使用引擎插件功能,这个大小可以缩减到300K。 ◆当在首包中仅放入了游戏引擎的代码和一些必要的资源时,游戏尚不能完整运行,因为游戏的逻辑代码在子包中,需要进一步的加载。但此时我们可以尽快使游戏给予反馈——也就是显示首屏。 关于首屏的内容绘制,小编整理了两种方案,希望可以对大家有所启发: ① 依赖游戏引擎绘制,尽量利用引擎进行绘制,做到资源尽量少,能够满足绘制一个启动图和一个进度条便可。 ② 不依赖引擎直接绘制,巧妙利用官方提供的功能绘制启动图。 创建一个满屏的按钮时可使用官方提供的接口wx.createUserInfoButton,此时按钮的背景图便可设置启动图。但如果此时用户点击屏幕,就会造成提示用户授权,这可能会造成部分用户流失。所以,可以利用另外一个接口wx.showLoading创建一个模态加载弹窗便可解决这一问题。 有了这样的首屏,剩下的便是尽快加载子包,开始真正的游戏内容。 03 应对技能 开发者可以通过精简首包,例如代码、资源压缩,或分包加载等方式优化。如果问题出现在首屏渲染阶段,则减少首屏前资源加载、精简初始化代码逻辑、对重度逻辑进行分帧。 开发者还可以使用小游戏开发工具Profile,对启动阶段的包体大小、网络资源请求、分包加载、初始化耗时等问题做进一步分析。 巧用“小游戏数据助手” ROUND1—运行性能之FPS 丰富的画面和游戏逻辑可以让小游戏更“酷炫”,但也更容易遇到操作不流畅、画面卡顿等“BUG”。尤其是中档和低档机型,卡一秒,等待玩家的只剩下Game Over。 在“小游戏数据助手-性能-运行性能”中,可以很好的看出小游戏的帧率,以便直观分析玩家“流失”原因。 ◆对应技能:FPS是整体流畅度的表征,问题较为复杂,开发者需要根据Profile工具做分析,针对不同CPU/GPU/内存等进行排查。 ROUND2—运行性能之内存 高品质的小游戏更受玩家和创意评审团青睐,但高品质美术的游戏往往需要占更多的内存。内存跟不上,就会遇到闪退或无法运行等“BUG”。 在“小游戏数据助手-性能-运行性能”中,能看到不同机型下的内存均值,以及用户异常退出次数和人数,方便开发者们分析阈值是否超过预期,从而更合理平衡游戏质量和游戏稳定性。 ◆对应技能:开发者可以通过避免内存泄露、规划美术资源、降低资源质量、及时释放资源等方式减少内存占用。 ROUND3—运行性能之CPU 物理、寻路、AI等小游戏复杂度较高,占用的CPU也比较高,更容易导致手机发热严重、耗电量高、流畅度下降等问题。 在“小游戏数据助手-性能-运行性能”中,可以直观的看出CPU在iOS各分档机型下吃CPU资源的比重,同时还可根据性能概况,分析不同分档机型几天来的CPU均值。 ◆对应技能:开发者可以开发阶段Profile工具做CPU热点分析,如使用微信开发者工具“Performance”或“真机调试”工具对计算热点进行分析,适当优化算法减少CPU计算逻辑。 ROUND4—网络性能 对竞技类、io类玩家来说,想要成为MVP,网速必须跟得上。短短几秒的网络延迟,能使一位“黄金”变“青铜”。 通过“小游戏数据助手-性能-运行性能”,开发者可以查看网络接口的综合性能,如延迟、回包长度、错误量等。同时开发者还能在这一模块的“网络接口错误分析”中找到TOP的网络路径,并在“网络接口延迟分析”找到网络延迟的“病因”。 ◆对应技能:开发者可以通过压缩资源、精简协议字段、优化服务器环境部署等方式,改善玩家游戏体验。 这些事儿,你一定要注意! 包大小限制 代码包总大小不能超过16M,单个分包不能超过4M。关于分包更多信息,可以参考分包加载。 缓存与清理机制 代码包下载到客户端后会被缓存起来,以便于下次离线打开。代码包清理的时机由算法动态计算,但可以认为在手机存储空间足够的情况下,代码包都不会被主动清理。当用户主动在历史列表删除小游戏(下拉任务栏删除不算)时,代码包会被清理。 文件类型 在项目目录中,以下文件会经过编译,因此上传之后无法直接访问到:*.js、game.json。除此之外,只有后缀名在白名单内的文件可以被上传,不在白名单列表内文件在开发工具能被访问到,但无法被上传。 作为小游戏开发者的你,是否get到了自己的“不足”之处呢!那还不赶紧优化自己的小游戏,小编我已经迫不及待想成为你们的“忠实玩家”了~ 点击阅读原文,一键进入小游戏“专栏”! |
|
|
太阳集团5493con是一家专门致力于为企业提供全方位网站建设服务。年轻的我们带着梦想和对网络的热情走在互联网道路的前沿,一路走来,我们的努力和真诚得到了更多客户的认可。在未来的发在未来的发...