1. 程式人生 > 其它 >為什麼遊戲需要熱更新?

為什麼遊戲需要熱更新?

版權申明:

  • 本文為“優夢創客”原創文章,您可以自由轉載,但必須加入完整的版權宣告
  • 更多學習資源請加QQ:1517069595獲取(企業級效能優化/熱更新/Shader特效/伺服器/商業專案實戰/每週直播/一對一指導)

為什麼遊戲需要熱更新?


簡單來說就是為了繞過手機作業系統的安全驗證。

因為如果手機作業系統允許我們隨意從網路上下載並更新我們安裝好的APP,那麼一些不良的遊戲開發者就有可能在更新的程式中植入後臺或者木馬程式來竊取使用者的資料,甚至破壞手機系統,從而達到一些不可告人的目的。

但是手機作業系統的這一做法是一柄雙刃劍,他雖然防止了手機APP受病毒木馬的影響,但是也限制了APP的正常更新

讓我們先來看一來受到限制以後,遊戲APP的更新流程。

什麼是遊戲熱更新:無熱更的遊戲更新流程


當你在軟體商店選擇好一款遊戲,點選下載,就把這款遊戲下載到你的手機上了。

當你需要更新遊戲時,通常在手機遊戲的啟動畫面會彈出一個更新按鈕,點選後會幫你跳轉到軟體市場重新下載完整的遊戲包體

這樣,如果是一個像王者榮耀這樣1個G以上包體大小的遊戲,每次我們都需要花同樣的時間,再下載一次完整遊戲

而不管這個遊戲是否只是更新了一個微小的功能或美術資源

什麼是遊戲熱更新:有熱更的遊戲更新流程


而支援遊戲熱更新的更新流程就完全不同了

首先你不需要在收到更新通知時跳轉到軟體商店進行下載,點選確認更新後,會自動在遊戲內進行更新包的下載,

其次你要下載的更新包,只是更新的那部分內容,比如說一個遊戲只是在下一個版本更新了一個面板、道具或者增加了一個新的功能系統,通常這種更新包的大小不會很大,假如說更新包只有幾兆,那麼你只需要下載這幾兆資源即可

對於玩家來說,下載的等待時間和流量消耗都極大的減少,對於提升玩家體驗、提升玩家留存是很有幫助的

那麼究竟一款支援熱更新的遊戲,它內部的更新流程和機制是什麼樣的呢?

我們來看一下

首先在我們第一次要遊玩這個遊戲的時候,我們還是會從遊戲市場下載這個遊戲。

接著隨著遊戲運營的程序發展。遊戲公司的策劃決定加入一個新玩法修改現有的玩法,或者修改遊戲內的數值平衡。

此時我們的開發者就需要根據策劃的需求去製作遊戲更新。

並且將更新好的內容打包上傳到遊戲更新伺服器。

接著在我們的玩家下一次進入遊戲時,遊戲的客戶端會自動到伺服器去檢查有無遊戲。內容更新。

如果有則會從伺服器下載更新包。

在客戶端將更新包下載到本地以後,客戶端自動釋放壓縮的更新包,並且把舊的遊戲內容替換成新的更新包內的內容,這樣就完成了遊戲的版本更新。

更新包長什麼樣?


那麼更新包究竟長什麼樣呢?

首先我們可以把遊戲內的資源分成美術資源和程式資源。

通常美術資源是可以直接熱更新的,而程式資源呢就有點麻煩了。

因為程式資源可以是任意一段可以執行的程式程式碼,大家想象一下,如果在一個遊戲通過稽核以後,在下一個版本中植入了一些竊取使用者隱私或者有可能造成系統不穩定的功能,那麼對於對於使用者來說是很不安全的。

所以在蘋果的IOS繫系統中已經完全的禁止了程式在執行時載入新程式碼的功能。

而安卓系統沒有完全禁止這種功能,安卓APP仍然能夠執行任何一段熱載入的程式程式碼。

那麼,我們的手機遊戲如何應付IOS系統的禁止熱更新從而提升玩家的遊戲更新體驗呢?

這就需要我們繞過系統限制,那麼如何繞過呢?我們會在後續給大家揭曉,歡迎大家點贊、收藏、分享,並在評論區討論你認為可行的解決方案~

更多學習資源請加QQ:1517069595獲取(/企業級效能優化/熱更新/Shader特效/伺服器/商業專案實戰/每週直播/一對一指導)

完整視訊可以點選B站連結:https://www.bilibili.com/video/BV16v411J7Uq

更多知識、教程、原始碼請進↓↓↓
優夢創客工坊

精品內容推送請搜尋↓↓↓
微信公眾號:優夢創客

免費直播、VIP視訊請進↓↓↓
優夢創客課堂

遊戲開發交流群↓↓↓