版权申明:

  • 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明
  • 更多学习资源请加QQ:1517069595获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)

为什么游戏需要热更新?


简单来说就是为了绕过手机操作系统的安全验证。

因为如果手机操作系统允许我们随意从网络上下载并更新我们安装好的APP,那么一些不良的游戏开发者就有可能在更新的程序中植入后台或者木马程序来窃取用户的数据,甚至破坏手机系统,从而达到一些不可告人的目的。

但是手机操作系统的这一做法是一柄双刃剑,他虽然防止了手机APP受病毒木马的影响,但是也限制了APP的正常更新

让我们先来看一来受到限制以后,游戏APP的更新流程。

什么是游戏热更新:无热更的游戏更新流程


当你在软件商店选择好一款游戏,点击下载,就把这款游戏下载到你的手机上了。

当你需要更新游戏时,通常在手机游戏的启动画面会弹出一个更新按钮,点击后会帮你跳转到软件市场重新下载完整的游戏包体

这样,如果是一个像王者荣耀这样1个G以上包体大小的游戏,每次我们都需要花同样的时间,再下载一次完整游戏

而不管这个游戏是否只是更新了一个微小的功能或美术资源

什么是游戏热更新:有热更的游戏更新流程


而支持游戏热更新的更新流程就完全不同了

首先你不需要在收到更新通知时跳转到软件商店进行下载,点击确认更新后,会自动在游戏内进行更新包的下载,

其次你要下载的更新包,只是更新的那部分内容,比如说一个游戏只是在下一个版本更新了一个皮肤、道具或者增加了一个新的功能系统,通常这种更新包的大小不会很大,假如说更新包只有几兆,那么你只需要下载这几兆资源即可

对于玩家来说,下载的等待时间和流量消耗都极大的减少,对于提升玩家体验、提升玩家留存是很有帮助的

那么究竟一款支持热更新的游戏,它内部的更新流程和机制是什么样的呢?

我们来看一下

首先在我们第一次要游玩这个游戏的时候,我们还是会从游戏市场下载这个游戏。

接着随着游戏运营的进程发展。游戏公司的策划决定加入一个新玩法修改现有的玩法,或者修改游戏内的数值平衡。

此时我们的开发者就需要根据策划的需求去制作游戏更新。

并且将更新好的内容打包上传到游戏更新服务器。

接着在我们的玩家下一次进入游戏时,游戏的客户端会自动到服务器去检查有无游戏。内容更新。

如果有则会从服务器下载更新包。

在客户端将更新包下载到本地以后,客户端自动释放压缩的更新包,并且把旧的游戏内容替换成新的更新包内的内容,这样就完成了游戏的版本更新。

更新包长什么样?


那么更新包究竟长什么样呢?

首先我们可以把游戏内的资源分成美术资源和程序资源。

通常美术资源是可以直接热更新的,而程序资源呢就有点麻烦了。

因为程序资源可以是任意一段可以执行的程序代码,大家想象一下,如果在一个游戏通过审核以后,在下一个版本中植入了一些窃取用户隐私或者有可能造成系统不稳定的功能,那么对于对于用户来说是很不安全的。

所以在苹果的IOS系系统中已经完全的禁止了程序在运行时加载新代码的功能。

而安卓系统没有完全禁止这种功能,安卓APP仍然能够执行任何一段热加载的程序代码。

那么,我们的手机游戏如何应付IOS系统的禁止热更新从而提升玩家的游戏更新体验呢?

这就需要我们绕过系统限制,那么如何绕过呢?我们会在后续给大家揭晓,欢迎大家点赞、收藏、分享,并在评论区讨论你认为可行的解决方案~

更多学习资源请加QQ:1517069595获取(/企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)

完整视频可以点击B站链接:https://www.bilibili.com/video/BV16v411J7Uq

为什么游戏需要热更新?相关推荐

  1. lua游戏服务器热更新

    Lua热更新实现 用途 在生产环境上,总有可能出现不可预知的Bug,而通常修改好Bug仅仅又修改几句,停机维护的成本又太高,对于游戏来说,通常每个服就是单独的进程,也做不到像分布式环境下,关掉一部分机 ...

  2. 《天涯明月刀》游戏资源热更新解决方案

    天刀在韩国化的过程中,韩方对天刀的游戏内商城功能提出了一系列的适应他们本土运营习惯的商业化改造需求,其中最重要的基础功能修改就是需要商城能够支持不停服修改商品内容或上下架商品,包含新增未事先打进版本配 ...

  3. Python在游戏中的热更新

    介绍: 热更新,就是在服务器不重启的的情况下,对游戏增加新的功能或者修复出现bug 的代码.游戏更新迭代速度快,催生了热更技术的需求,在我经历过的游戏项目中,无论是服务端还是客户端,版本的更新都是围绕 ...

  4. 【热更新】游戏热更新方案

    游戏热更新方案 热更新演化 热更新方案 [1] 进程切换 1.1 利用fork.exec切换 1.2 利用网关切换 1.3 微服务 - 进程切换注意要点 [2] 动态库替换 [3] 脚本语言热更新 热 ...

  5. 【游戏开发高阶】从零到一教你Unity使用ToLua实现热更新(含Demo工程 | LuaFramework | 增量 | HotUpdate)

    文章目录 零.前言 一.我做的热更新Demo 1.效果演示 2.流程图 3.工程源码 二.为什么要有热更新 三.Unity如何支持热更新 1.热更C#代码 2.热更lua代码与资源 四.Unity中集 ...

  6. CocosCreator游戏热更新完整教程,超简单,超详细

    使用cocos已经是第7个年头了,也算是老司机了,今天就介绍下使用cocos creator开发游戏如何热更新. 预备知识 首先,科普下基础知识,热更新的基础原理是,不同版本的游戏资源对应不同的man ...

  7. 乐变黄杲:当前如何选择App热更新服务

    在2017年6月这个时间点,我们有必要谈谈热更新这个技术到底何去何从. \\ 上半年苹果的两次警告,通知iOS开发者在6月12日前移除热更新相关代码,否则将会下架相关App,一时间风声鹤唳,那么App ...

  8. Unity3D热更新技术点——ToLua(上)

    注: 本文主要介绍tolua的基本原理及其在unity中的使用,希望阅读本文的读者有lua基础,可通过Lua教程 (其中也有IDE的推荐等)或其他途径先进行lua 的学习 热更新 在介绍tolua前, ...

  9. Cocos2dx-- 资源热更新

    前言:游戏上线后,我们常常还会需要更新,如新增玩法,活动等,这种动态的更新资源我们称为游戏的热更新.热更新一般只适用于脚本语言,因为脚本不需要编译,是一种解释性语言,而如C++语言是很难热更新的,其代 ...

最新文章

  1. python画散点图对散点阴影扩充_Python金融应用之图表制作(三)
  2. MMDetection库部署和训练
  3. java tableview 双击_java-在TableView JavaFX的行上检测双击
  4. 中国电梯市场产量规模与盈利趋势分析报告2022-2028年
  5. 【读书笔记】建造者模式代码完成与大家分享
  6. 优化DOTTEXT之一:缓存配置项
  7. 个人黑名单 抄袭耻辱墙
  8. mysql主键异常(冲突)
  9. 09-Flutter移动电商实战-移动商城数据请求实战
  10. 也谈虚拟化的服务器选型,以及性能考虑
  11. 江苏计算机职称考试cad,江苏省职称计算机考试Auto_CAD(含答案).doc
  12. 水晶报表-推拉模式实例
  13. java idle机制_Java培训:Tomcat中session的钝化与活化机制详解
  14. μCOS-Ⅱ操作系统中的PEND(阻塞zuse)和SUSPEND(挂起)和SLEEP(睡眠)三种状态
  15. win7主机 ubuntu10.04虚拟机 共享文件夹设置
  16. 小白入门C语言之浮点数详解
  17. web网页上一个帖子点赞是怎么制作的_如何查看17年以前的百度贴吧帖子
  18. 知乎如何通过关键字搜索文章
  19. Java模式设计卖电脑实验报告_20145310《Java程序设计》第2次实验报告
  20. Unity的GICache简介

热门文章

  1. 如何找win10 软件商店里下载的python路径并删除
  2. 网页报错404原因及解决方法
  3. 高斯模糊算法的实现和优化
  4. 风险中性贴现-短期利率贴现
  5. 实现unity内2D物品延迟跟随鼠标移动
  6. 服务器集群技术的特点和功能
  7. 89c51控制小车运行c语言,STC89C52单片机蓝牙遥控小车代码
  8. 【yolo5】目标检测数据集制作
  9. TopK Question
  10. 树莓派镜像备份/内核编译和更换/EC200U上网