[發明專利]游戲的熱更新方法及裝置有效
| 申請號: | 201610902025.X | 申請日: | 2016-10-17 |
| 公開(公告)號: | CN107967139B | 公開(公告)日: | 2021-07-27 |
| 發明(設計)人: | 何友鑫 | 申請(專利權)人: | 網易(杭州)網絡有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65 |
| 代理公司: | 北京博浩百睿知識產權代理有限責任公司 11134 | 代理人: | 宋子良 |
| 地址: | 310000 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 游戲 更新 方法 裝置 | ||
本發明公開了一種游戲的熱更新方法及裝置。其中,該方法包括:獲取游戲資源文件,其中,游戲資源文件是對游戲資源對應的源代碼進行編譯生成IL字節碼后,由IL字節碼打包而成的;根據用戶終端當前使用的操作系統類型確定對游戲資源文件所采用的熱更新方式。本發明解決了相關技術中所提供的熱更新方式運行效率較低,應用受到局限性的技術問題。
技術領域
本發明涉及計算機領域,具體而言,涉及一種游戲的熱更新方法及裝置。
背景技術
目前,在大型網絡游戲運行期間經常會發現一些需要立刻修復的嚴重漏洞,由此導致需要停機維護以及重新下載游戲客戶端,從而無法繼續為用戶提供服務。為了獲得更佳的用戶體驗,便需要實現在不需要停機維護和重新下載游戲客戶端的情況下也能夠修正已發現的游戲漏洞,這種修正游戲漏洞的技術手段被稱為熱更新。
Unity3D作為一款流行的3D引擎,其引擎本身并不支持在IOS系統上執行熱更新操作,因此,采用Unity3D開發的手游便難以滿足在游戲運營期間無需重新下載游戲客戶端也能夠修復已發現游戲漏洞的需求。
相關技術中提供的針對Unity3D的Lua熱更新方案,雖然能夠解決Unity3D引擎無法在IOS上執行熱更新操作的問題,但是由于Unity3D引擎無法直接支持Lua,由此會帶來以下問題:
(1)由于運行期間需要在C#和Lua之間頻繁切換,因此會降低游戲運行效率。
(2)僅能采用Lua開發業務邏輯,而對原生的C#框架進行重用則十分困難,因此,會降低游戲開發效率。
(3)安卓系統可以支持原生C#熱更新,為了兼顧IOS熱更新也不得不放棄C#而采用Lua進行開發,同時很多安裝安卓系統的低端手機,相對于安裝有IOS系統的高端智能手機而言,更需要提升運行效率。為了能夠兼顧IOS熱更新,在這些低端手機上也不得不采用運行效率更低的Lua來進行開發。
(4)無法使用VS的開發調試環境以及Unity原生的性能分析功能,代碼的單步調試,性能分析都缺乏良好的工具支持。
針對上述的問題,目前尚未提出有效的解決方案。
發明內容
本發明實施例提供了一種游戲的熱更新方法及裝置,以至少解決相關技術中所提供的熱更新方式運行效率較低,應用受到局限性的技術問題。
根據本發明實施例的一個方面,提供了一種游戲的熱更新方法,包括:
獲取游戲資源文件,其中,游戲資源文件是對游戲資源對應的源代碼進行編譯生成IL字節碼后,由IL字節碼打包而成的;根據用戶終端當前使用的操作系統類型確定對游戲資源文件所采用的熱更新方式。
可選地,獲取游戲資源文件包括:將服務器上最新發布的游戲資源文件的版本號與本地存儲的游戲資源文件的版本號進行比對;如果最新發布的游戲資源文件的版本號晚于本地存儲的游戲資源文件的版本號,則將最新發布的游戲資源文件下載至本地,并采用最新發布的游戲資源文件覆蓋本地存儲的游戲資源文件,得到游戲資源文件。
可選地,根據操作系統類型確定對游戲資源文件所采用的熱更新方式包括:確定操作系統類型為第一系統,其中,第一系統不支持采用預設編程語言的原生熱更新方式;調用預設虛擬機加載游戲資源文件并啟動執行,其中,預設虛擬機為解析并執行IL字節碼的執行環境。
可選地,調用預設虛擬機加載游戲資源文件并啟動執行包括:調用IL虛擬機提供的預設接口將游戲資源文件加載至內存;通過IL虛擬機直接調用游戲資源文件內的關聯函數啟動游戲資源文件。
可選地,根據操作系統類型確定對游戲資源文件所采用的熱更新方式包括:確定操作系統類型為第二系統,其中,第二系統支持采用預設編程語言的原生熱更新方式;調用預設反射機制加載游戲資源文件并啟動執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于網易(杭州)網絡有限公司,未經網易(杭州)網絡有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610902025.X/2.html,轉載請聲明來源鉆瓜專利網。





