版权声明

  • 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明
  • 更多学习资源通过私信我获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)
  • 点赞、关注、分享可免费获得配套学习资源
  • 点击观看完整视频

为什么游戏需要热更新?

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

    • 因为如果手机操作系统允许我们随意从网络上下载并更新安装好的APP,那么一些不良的游戏开发者就有可能在更新的程序中植入后台或者木马程序来窃取用户的数据,甚至破坏手机系统,从而达到一些不可告人的目的
  • 但是手机操作系统的这一做法是一柄双刃剑,他虽然防止了手机APP受病毒木马的影响,但是也限制了APP的正常更新
  • 让我们先来看一来受到限制以后,游戏APP的更新流程

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

  • 当你在软件商店选择好一款游戏,只要点击下载就把这款游戏下载到手机上了
  • 当游戏需要更新时,通常会在手机游戏的启动画面里弹出一个更新按钮,点击后会帮你跳转到软件市场重新下载完整的游戏包体
  • 如果是一个像《王者荣耀》这样的1个G以上包体大小的游戏,那么每次都需要花同样的时间,再下载一次完整游戏,不管这个游戏是否只是更新了一个微小的功能或美术资源

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

  • 而支持游戏热更新的更新流程就完全不同了,不需要在收到更新通知时跳转到软件商店进行下载,点击确认更新后会自动在游戏内进行更新包的下载,其次你要下载的更新包,只是更新的那部分内容

    • 比如说一个游戏只是在下一个版本更新了一个皮肤、道具或者增加了一个新的功能系统,通常这种更新包的大小不会很大,假如更新包只有几兆,那么你只需要下载这几兆资源即可
  • 对于玩家来说,下载的等待时间和流量消耗都极大的减少,对于提升玩家体验、提升玩家留存是很有帮助的
  • 那么究竟一款支持热更新的游戏,它内部的更新流程和机制是什么样的呢?
  • 第一次要游玩某个游戏时,还是会从游戏市场下载这个游戏,随着游戏运营的进程发展,游戏公司的策划决定加入一个新玩法修改现有玩法,或者修改游戏内的数值平衡
  • 此时我们的开发者就需要根据策划的需求去制作游戏更新,并且将更新好的内容打包上传到游戏更新服务器,接着在玩家在下一次进入游戏时,游戏的客户端会自动到服务器去检查有无游戏内容更新,如果有则会从服务器下载更新包
  • 客户端将更新包下载到本地以后,客户端自动释放压缩的更新包,并且把旧的游戏内容替换成新的更新包内的内容,这样就完成了游戏的版本更新

更新包长什么样?

  • 游戏内的资源可以分成美术资源和程序资源,美术资源通常是可以直接热更新的,而程序资源要热更就有点麻烦了

    • 因为程序资源可以是任意一段可以执行的程序代码,大家想象一下,如果一个游戏通过审核以后,在下一个版本中植入了一些窃取用户隐私或者有可能造成系统不稳定的功能,那么对于用户来说是很不安全的
  • 所以苹果的IOS系系统中已经完全的禁止了程序在运行时加载新代码的功能,而安卓系统没有完全禁止这种功能,安卓APP仍然能够执行任何一段热更新加载的程序代码
  • 那么,手机游戏如何应付IOS系统的禁止热更新从而提升玩家的游戏更新体验呢?
    • 这就需要绕过系统限制,至于如何绕过呢?我们会在后续给大家揭晓,欢迎大家点赞、收藏、分享,并在评论区讨论你认为可行的解决方案~

写在最后

  • 更多学习资源可以通过私信我获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)
  • 点赞、关注、分享可免费获得配套学习资源
  • 点击观看完整视频

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

  1. 为什么游戏需要热更新?

    版权申明: 本文为"优梦创客"原创文章,您可以自由转载,但必须加入完整的版权声明 更多学习资源请加QQ:1517069595获取(企业级性能优化/热更新/Shader特效/服务器/ ...

  2. lua游戏服务器热更新

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

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

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

  4. Python在游戏中的热更新

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

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

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

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

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

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

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

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

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

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

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

  10. Cocos2dx-- 资源热更新

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

最新文章

  1. Android开发中的小技巧
  2. java 获取java文件路径_Java怎么获取相对路径下所有的.java文件的信息
  3. 你还在百度这些代码吗?
  4. 领域驱动系列:三种领域逻辑组织模式的本质
  5. 转帖:RIA(Rich Internet Application,富互联网应用系统)
  6. zabbix监控java线程池,linux线程数限制与zabbix监控
  7. 字符串过长用...代替,鼠标悬停显示所有内容
  8. 系统架构图怎么画_简历的项目经历应该怎么写得好看?
  9. LVS负载均衡-NET、DR模式配置
  10. 怎么爬before after之间的内容_关于伪元素::before和::after的用法
  11. 记录下qcharts绘制曲线遇到的坑
  12. 群晖通过计划任务挂载USB盘做主力下载盘
  13. Java实现多张图片转pdf
  14. STM32比较器的使用
  15. file和directory区别
  16. 四位共阳极数码管显示函数_单片机利用四位共阳极得数码管显示2016
  17. 说说亲身经历的草根seo的辛酸
  18. 计算机组装已维护的学术报告,计算机组装与维护中的问题及解决对策分析
  19. javacv 视频转换
  20. FEKO仿真涂覆目标时的参数设置

热门文章

  1. 手动实现循环神经网络RNN,神经网络rnn是什么意思
  2. VproC#混合编程,Basler相机加载显示实时图像
  3. python黑色变白色_在OpenCV python中将白色像素转换为黑色
  4. 路由器 OSPF 路由汇总配置
  5. win2008 r2折腾php7.1记录
  6. lisp 左手钢筋_左手键配置程序
  7. 理解计算-从根号 2 到 AlphaGo
  8. linux下socket编程常用头文件
  9. 如何通过压缩视频软件,减少大小且画质无损技巧
  10. 小米手机访问电脑共享文件_小米手机共享文件夹在哪里