遊戲中 不停服更新

物品投放的熱更新機制

需求描述: 遊戲在上線後會不斷的推出更新,其中更新的內容主要包括UI資源與新的道具物品,UI資源通過patch更新,在進行更新時僅牽扯單個客戶端的表現,因此不存在版本問題,可直接進行更新。遊戲中新的道具與物品的更新,因爲需要客戶端與服務端功能的支持,如果採用熱更新就存在客戶端版本與服務端版本不一致以及組隊時不同客戶端版本不一致的情況,儘管可以在玩家登陸時對客戶端版本進行強制升級, 但熱更新時在線的玩家依然爲舊的客戶端版本。

實現方式: 遊戲中新的物品與道具進行投放時,如果採用關服更新與登錄強制客戶端版本更新的方式可確保投放不會出現版本不一致的問題。但是如果想要實現投放的熱更新就需要注意諸多的問題,首先就是客戶端與服務端版本的不一致問題,兩者之間版本先後存在四種情況不一致的情況有客戶端版本小於服務端版本或 客戶端版本大於服務端版本。 當客戶端版本較小時需要考慮可能通過某種方式獲得服務端新投放的物品,此時客戶端由於資源缺乏會存在表現上的問題,並且新獲得的物品需要在客戶端物品顯示時進行隱藏,避免穿戴造成客戶端該物品功能性的問題,當然具有自動穿戴功能的物品需要在客戶端表現上進行容錯。當客戶端版本大於服務端版本時,由於不會獲得新投放的物品,而客戶端的顯示也是正常的一般不會存在問題,因此新的資源提前投放一段時間,用戶在這段時間重登陸時就能更新到,會減少很多問題。其次是客戶端版本的不一致問題,熱更新時會有大量用戶在線,這些用戶並沒有更新客戶端的版本,如果強制更新會阻斷遊戲的引發各種一些意想不到的問題。這樣不同的玩家處於不同的客戶端版本,那麼組隊時相互之間就會再客戶端顯示對方的一些物品設置,此時可能會出現低版本客戶端無法顯示高版本客戶端新投放的物品,這些物品的功能在低客戶端版本也是無法表現的,因此需要進行組隊邀請與請求匹配時的版本控制或者是客戶端物品的顯示與功能的容錯。

關於角色的投放,角色的投放略不同於通常的物品,主要原因是遊戲中爲了優化體驗,通常會記錄每個角色穿戴物品的一些記錄,比如皮膚等,通常新加的角色會給這個角色配置默認的設置,因此在服務端與客戶端版本不一致時可能會存在客戶端版本超前,該角色還沒有在服務端添加默認設置,從而造成在客戶端顯示默認配置時出現問題, 同時在進行配置的修改時服務端需要能夠動態的添加與記錄該新加角色的配置。此外在服務端更新後需要爲新加的角色配置默認的設置。

發佈了16 篇原創文章 · 獲贊 16 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章