大型單機遊戲下載到百分之十就能進入遊戲,這是什麼技術?

劉曉亮

金山在2010年的時候發佈了一款叫做“快快遊戲”的遊戲盒子,“

單機遊戲可以邊下邊玩”是這款軟件發佈之初的一大賣點。實際上我本人也一直是這款軟件的用戶,快快遊戲在當時確實可以做到遊戲下載個10%左右就能夠進入遊玩,但在那個國內平均網速只有100+kb/s的年代,這種邊下邊玩的技術常常會出現你把遊戲玩了一大半了他都還沒下完,然後遊戲就黑屏了…



金山當時對這款軟件的介紹是這樣的:“金山快快遊戲世界採用了金山研發的新技術,該技術被概括為“邊下邊玩”,類似看視頻的緩衝過程,可以不用下載完整的遊戲安裝包就開始遊戲。”


按照這個描述,我們大致可以推測一下這個技術的原理:將遊戲前面的一部分文件與運行遊戲必要的一部分文件分類提取出來並優先下載,等到這部分運行遊戲的必要文件下載完畢之後,玩家便可開始遊戲。然後再慢慢下載前面遊玩暫時不會加載的文件,這樣就達到了“下載到百分之十就能進入遊戲”的效果。


▲快快遊戲


但後來似乎並沒有太多的遊戲盒子添加這項功能,甚至連金山快快本身最後都放棄了這項功能。這又是為什麼呢?其實簡單的思考一下,道理也很簡單。過去10個G左右的遊戲就已經算大型遊戲了,現在的遊戲動不動就30到5、60個G,遊戲的單個文件體量也增加了不少,再加上網速的普遍提升,大型遊戲分類提前加載沒什麼意義,小型遊戲又要不了幾分鐘就下完了。這就讓邊下邊玩失去了意義。


不過,就現在來看,畢竟每款遊戲都要進行分類下載,這也是需要不少人工成本的。在正版遊戲逐漸普及的今天,用遊戲盒子的玩家不再像以前那麼多,想要每款遊戲都進行文件分類,這個人力成本還是過高。


實際上金山快快也已經於上個月正式停止了運營。


電玩巴士

這個技術的起源不太好追溯,但是十有八九會跟網頁遊戲模式發展有一定的關鍵。

起源

國內最早開發的端遊(客戶端遊戲)都是整塊運行,進入遊戲前必須下載動輒幾十個G的客戶端。

雖然客戶端遊戲在後來也支持熱更新模式,但是更多都是關於配置變更或者資源替換。對於邏輯大範圍的修改,必須出新的客戶端版本。

直到網頁遊戲爆發開始,這個模式才有了更深的進步。


·因為以往端遊模式,在底層邏輯並不太考慮在線更新的思路。

比如說,主角獲得一件武器。這個武器的模型發生了變更,比如其模型資源叫:“大刀001”。

當主角裝備起這個道具時,就要提現角色模型的更新,可是程序在調用模型的邏輯上只是:調用“大刀001”資源。

如果在庫中沒有找到這個資源,則邏輯就會報錯,可能引發一系列未知的錯誤,所以端遊都是提前埋好資源(很多資源可能並未開放但是後期方便通過配置開啟),日後通過小型的更新補丁來操作。(類似前期客戶端下載特別大,後期更新補丁一般會小很多,當然大版本更新免不了還是很大。)


·而頁遊作為flash載體的遊戲,只能通過邊遊戲邊緩存資源在瀏覽器中的模式進行。

早期網絡速度還是十分捉急,所以在線加載的時候體驗並不是很好。並且這個方式是將資源存於瀏覽器中,極其不穩定。(緩存資源好多人默認的c盤,會佔用大量的c盤空間,當c盤接近滿負荷是,會卡的要死。同時瀏覽器會有自動清理緩存的功能,或者優化工具都會定期刪除,導致再開遊戲都得重新緩存)


微端(小型客戶端)

這時候,就推出了一個微端的概念。

這個類似客戶端的東西,體積很小,一般也幾十兆。

它誕生的目的,就是存儲脫離開瀏覽器,而是用微端作為載體。

這麼幾十兆的東西,下載只需要很短的時間,大大優化了對比以往端游下載的的體驗(在小水管的年代,下個端遊可是需要通宵掛機的下)。同時並不大影響遊戲體驗。


·區別

這裡面有個最大區別的邏輯變更就是,所有設定,都有一個默認的資源配給,當沒有找到某個模塊對應的資源時,都會調用這個默認的資源頂替。

打個比方,人物的默認資源就是一男一女,穿著最簡單嗯褲衩背心,武器就是一根棒子。

在角色獲得“大刀001時”,刀的資源並沒有找到,但是邏輯不會中斷,你手中的棒子已然具備了“大刀001”的所有屬性,可以正常使用;同時這時候請求網絡通信,去下載這個“大刀001”的資源,直到下載完畢,就會更新在角色模型上(早期實時更新技術不太完善,需要切換場景。或者刷新頁面才會重新更新模型。)

這樣,就可以理解為何現在大多遊戲都可以支持下載到50%(姑且統稱50%)等便可進行遊戲了。

因為這50%中包含了運行的基礎邏輯,以及默認的替換資源,對於遊戲的運行是保障完整順暢的,剩下的內容可以邊玩邊下載。


(現在的微端和最初的微端更有不同,現在其實叫微端並不具備微端的基礎邏輯功能,而更多是一個下載器的概念,只有註冊登錄和下載的基礎UI,不然無法做到幾百k的體積)


典型的微端遊戲:

特出名的《激戰》系列,本人倒是沒玩,不知道最早微端的概念是否起源於此。但是就在國內開始提及微端的概念時,這個遊戲就已經從一個小小的客戶端發起,直到後來幾十g的體積,都是邊玩邊下的。


典型的瀏覽器頁遊體現:

在短暫的加載後,遊戲開始運行,但是如果網絡十分卡頓,下載資源很慢。你就會看見一個小點(就是主角腳下的影子)自然可以進行遊戲。

背景全是馬賽克(場景縮略圖,低質量貼圖,但是具備尋路和阻擋邏輯)

只有UI是可見的(基礎UI是運行遊戲必備的資源,所以都是提前加載好才可以運行)

這時候你就會看見一個小黑點,在全是馬賽克的地上來回跑,也能交接任務也能打怪。。。十分的神奇。


現在的端遊發展

在過去遊戲體積方面,最為詬病的當屬《wow》了。當年很多網吧,硬盤空間很有限,但是又不得不安裝WOW這個龐然大物,於是擠兌了很多其他遊戲的安裝空間。

首先wow的世界內容導致客戶端必然小不了,外加上十幾年的版本更迭,更新補丁的不斷累積,這個不知道有沒有從最初的客戶端一直保存所有補丁的人來驗證

想必可能是迄今為止最大體積的網遊,沒有之一。

後來網吧機智的假設了局域網服務器,除了常用的幾個大體積遊戲在本地安裝以外,其他體積不是特別大的遊戲,都可以通過網管系統,及時下載,因為是局域網傳輸,速度極快。

而作為統治硬盤多年的暴雪爸爸,也開始變得不那麼高冷了。

於是就有了現今的戰網更新系統。


熱更新的弊端

這個模式即便可以實時的在線邊玩邊更新,但是一個小黑點跑馬賽克的體驗肯定也不會好到那裡去,所以早期都說頁遊的畫質被端遊甩開幾條街並不是沒有道理的,並不是頁遊做不到高水準的貼圖,而是考慮到下載速度的原因,更趨向於速度。

後來出現了微端這個載體,玩家的選擇範圍就更大一些,而微端也人性化的做了幾種畫質的偏向,你可以選擇速度優先但是畫質低,也可以選擇畫質優先,但是需要下載的東西會變很大。


然而這個模式在同是暴雪自家的遊戲《星際爭霸2》的體驗並不算好。


前面提到過,在頁遊中,即便一個小黑點都可以進行跑通邏輯。

最大的前提就是你是一個rpg遊戲,你主控的單位只有你自己,跟你有交互的無非就是劇情NPC(友方)和敵對怪物,交互層面十分有限。


而《星際爭霸2》這個即時戰略類遊戲就不太行了,你要同時操控N多單位才可正常的進行遊戲。

同時,場景也不是網遊rpg無腦的點尋路就能搞定的,而是更錯綜複雜。

所以關於《星際爭霸2》的熱更新,更多就是一個幌子,意義不大。比如說你更新至70%即可進入遊戲,但是進入某個戰役遊戲後,發現在讀取界面還需要重新下載關於這個戰役的完整地圖以及單位資源,依然是很漫長的一個過程。

所以這類的遊戲,還是老老實實的更新完全再開始玩吧。


色色挽狂瀾

哈嘍大家好,我是阿懵說,一個資深的遊戲愛好者、遊戲領域問答答主!因為不是很瞭解這項技術的學術用語,所以如果有說的不對的,多多包涵,歡迎評論區留言指正

資源分離、輕客戶端模式

關於題主所說的下載到百分之十就可以進入遊戲的現象,實際上是一種輕客戶端的模式,遊戲開發時將遊戲進行資源上的分離,將遊戲內的核心玩法、進入遊戲必備(如角色、道具、地圖)的資源進行壓縮,先行下載,只要將這部分內容下載完成就可以進入遊戲。後續的內容後臺進行逐步下載。

這種模式輕客戶端的模式在網絡遊戲中比較常見(如劍網3、問道、NBA2Kol),單機遊戲幾乎不會運用這種技術(單機遊戲中使用這種模式阿懵一時想不起來)。


輕客戶端模式的優缺點

阿懵倒是覺得輕客戶端模式的網遊這幾年越來越多了,因為遊戲行業競爭的激烈,各種網頁遊戲越來越精良,所以導致了大型端遊的用戶流失非常高,採用輕客戶端可以大幅縮短玩家的等待時間,讓玩家體驗起來更舒服!

輕客戶端的優點非常明顯,大幅度的減少了客戶端的容量、減少了玩家的等待時間,對用戶設備要求變低等等。輕客戶端的缺點也是不容忽視的,因為下載和加載內容佔用大量的網絡、系統資源所以遊戲中經常會出現卡頓現象,會讓遊戲體驗感變差,因為遊戲剛下載的時候加載的資源較少,導致畫質等方面無法達到預期。

阿懵總結:隨著遊戲市場的競爭,輕客戶端模式逐漸成為了大型端遊的寵兒,這種模式優缺點都十分明顯,單機遊戲應用這種技術的不多!



阿懵說

其實這並不是什麼很複雜的技術,這種技術現在已經有很多遊戲平臺都已經進行應用了,包括暴雪的戰網、EA的Origin等等。

為什麼遊戲沒有完全下載就可以遊玩了呢?其實原因很簡單,我們通過遊戲端下載的其實是已經打包好的程序包,只要打開就能遊玩完全繞過了繁瑣的安裝解壓整合過程,並且在此之前就已經下載好了遊戲程序的主體部分,而剩下的只是一些無關緊要的關卡、音頻文件、高清貼圖等對於已經下載好的程序文件完全沒有影響。

這樣的好處就是讓玩家可以先一步進入遊戲,在未完全下載好之前就可以感覺到遊戲的樂趣,但是缺點也很明顯,因為畢竟不是完全下載好了的文件所以可能只開放部分的關卡或者某些角色沒有聲音或者某些場景乾脆就是沒有的,使得玩家不能完整的體驗遊戲的樂趣。

這種模式在國外比較普遍,但是國內卻很少出現,原因是一國內的遊戲大部分體積都不大沒有這樣做的必要,同時廠商為了節省成本也會盡量不採取這種模式。


緋想A2ON

最早遇見一款免費卡通網絡遊戲,海盜類型,進入遊戲只有不到30M。10年前了吧,好像是迪斯尼的。在玩家玩新手村任務時,後臺在下後續遊戲的部分。也就是說遊戲數據文件依據遊戲進度設定,進行了分離。後來暴雪也有了這個設計。

網遊都能這樣,那麼單機也是可以實現的,就看開發商要不要這麼做了。

好了,回到題主的問題。遊戲數據文件打包,有的是按類型,有的是按場景相關,也有混合方式。那麼也就是說存在了遊戲運行需要的數據文件就可以開始玩了,後續文件在被調用到之前到位即可。另外一種情況是遊戲數據文件可以被解包,常見於各種綠色D版。


嘉遊視界

遊戲大致可以分成遊戲引擎,素材。遊戲引擎體積不大,比較龐大的是素材,包括貼圖以及動畫視頻。所以說只要遊戲引擎下載完成正常安裝,基本素材下載完成遊戲就可以正常運行了可以邊下邊玩


寒尐爺

這個技術 無論單機 、網遊和 網頁遊戲都是一樣的.一個遊戲一般由兩部分組成: 代碼和資源(有些時候部分代碼以腳本的形式存在於資源中),一般情況下資源要至少佔90%。

我們可以這麼理解:假如一個遊戲有多個場景,那麼我們在玩場景a的時候是不需要其他幾個場景的。實際上,我們在玩場景a的時候,真正在你內存中的也只是場景的一部分。所以只需要下載開始遊戲的那部分資源和代碼部分,就能實現了.


分享到:


相關文章: