[游戏更新]游戏更新框架的设计

Posted stq_wyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[游戏更新]游戏更新框架的设计相关的知识,希望对你有一定的参考价值。

主要是通过文章来记录一下游戏更新流程的框架设计、资源打包、资源下载等。热更新的功能框架使用的是XLua,这里不做详细介绍。

流程图:

因为是海外游戏,考虑到GooglePlay对包体大小的限制。因此,会有一些资源做成压缩包,在特定时间进行下载。即第6,7两个步骤。如果是国内游戏,不考虑控制安装包大小的,可以略过这两个步骤。因为东南亚兄弟的网速和机型十分感人的缘故,AssetBundle、配置表和lua代码这里我们进行了7z压缩,下载7z包后再解压,相对于散文件来说,下载速度更有保障。这里使用的是AssetStore里的一个插件。整个检测更新的过程使用状态机来实现。降低各个流程之间的耦合性。接下来详细的梳理一下每个步骤的流程。

1.获取版本号信息

在与服务器版本校验之前,会先对本地的资源进行一个校验,如果是首次安装或者玩家将数据清除掉了,首先校验磁盘空间,空间充足,那么直接将StreamingAssets下的7z解压到persistentDataPath目录下,并将版本号记录到文件中。使用该版本号和从服务器获取的版本号信息进行校验。详细见下一个流程。

2.更新操作判定

因为游戏支持离线模式,所以,当网络无法连接的时候,走离线模型登录游戏,跳过更新判定。版本号定义了3位,前两位用于控制游戏安装包的版本,第3位用于判断资源更新,每次发布安装包,资源版本号从0开始统计。在版本兼容这一块,可以兼容两个版本,即可能同时存在1.0.0和1.1.0。

3.大版本更新

          这个逻辑比较简单,就是有新版本时弹窗提示玩家,如果玩家版本还在受支持的版本号中,弹窗就有两个按钮,一个关闭,一个跳转。玩家关了之后就可以继续进游戏,反之,弹窗只有一个跳转商店按钮,除非离线,否则不能进游戏。就不画流程图了。

4.资源更新

        这个过程是强制的,涉及的判断较多。

这里边比较核心的内容是http下载这块的逻辑。后边再做详细的分析。

5.登录游戏

       判断玩家网络是否畅通,如果畅通就走在线模式,否则,走离线模式。

6.场景资源检测

       这个用途可能比较广泛,虽然国内市场不考虑包体可以不做场景资源的分包,但是考虑到大版本更新对用户体验的影响,建议游戏支持场景资源扩展更新。这个过程主要是对场景资源版本的校验,流程比较简单。不做流程图展示了。

7.场景资源更新

以上就是游戏更新流程的介绍。

 

以上是关于[游戏更新]游戏更新框架的设计的主要内容,如果未能解决你的问题,请参考以下文章

vivo x20玩游戏效果怎样

微信小游戏测试注意事项(持续更新......)

华为手提电脑开机出现《我们正在更新Nahimic》蓝色对话框

C语言飞机游戏

保存更新的野外游戏框架

: 《江湖X》开发笔谈 - 热更新框架