作者 Portentera (SupP)
標題 [心得] D4 Beta 雲分析
時間 Mon Mar 27 13:31:50 2023



以下都是我自己的心得以及推測
從系統面以及架構面不負責任的分析

先聊聊困難點
接著根據兩週的測試體驗
在遊戲中的一些細節推敲
暴雪是如何辦到的


[困難點1:物理距離延遲]
亞洲與歐美之間的延遲
相信在 D2R, D3 已經深有體會
該如何讓大家在遊戲中
大幅減少延遲造成的不適感
便是全球同服面向玩家最大的困難點


[困難點2:資料同步]
儘管是全球同服
也不可能一座資料庫便能面向全球
而資料如何落地便是一門學問

常見的做法是在各地都建資料庫
最後將資料庫兜成一個集群
讓世界各地不同端點連線

連線時與最近的資料庫進行存取降低延遲
但發生短時間大量存取
該如何同步到所有的資料庫
也會是巨大的挑戰

D2R 的玩家應該深有體會
逼狗時把三服都搞炸,還發生蠻多次的
就是短時間大量存取,且資料尚未同步造成的
因為歐美玩家跑到亞洲,亞洲玩家跑到歐美
資料無法即時同步,甚至發生腦裂導致資料庫死掉
而處理這種狀況,只能將資料回到某個時間點
才會有玩家反應回溯的情況

[解法:遊戲分流]
遊戲中可以發現到
在路上會巧遇路人玩家
不用組隊便可以一同解地圖事件
尤其在世界王時體會更深刻

分流
將物理距離相對近的玩家聚在一起
既可以降低資料庫的負擔
又可以同時讓玩家遊戲體驗更佳
(距離遠的聚在一起,一定有人要扛高ping)

也就是正常遊玩下
在台灣多數只會遇到中日韓玩家


[衍生問題:地圖載入]
由於遊戲分流造成地圖載入時
有許多狀況需要額外處理
這次有玩家反應
隱形牆、場景&物件未生成(祭壇、怪物等等)

其實就是地圖載入時
遊戲還卡在等待伺服器回應請求(Request)
也就是卡在該把你扔到哪個分流去
才會有先回城再出來就排除狀況的解法

在實務上常見做法還是排隊
只要有合理的隊伍數量(Queue)跟足夠的處理人員(Consumer)
照來說伺服器可以即時消化所有的請求

現今程式開發多會以具平行擴展的集群為基礎架構
概念即統一對外窗口,而且可以喊請支援收銀

而運行程行的系統(或平台)都會有自動擴展的功能
概念就是系統發現人力不足會自動支援收銀,不用在特地廣播

這方面我認為暴雪還在評估該開多少資源處理
畢竟真的很影響遊戲體驗

以上就是我個人不負責任的推論以及分析
至於家機跟跨平台沒接觸到就不通靈了
感謝大家花時間看完我野人獻曝

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.226.172 (臺灣)
※ 作者: Portentera 2023-03-27 13:31:50
※ 文章代碼(AID): #1a8If8Yx (DIABLO)
※ 文章網址: https://www.ptt.cc/bbs/DIABLO/M.1679895112.A.8BB.html
davedawei: 看到很多English 但具體分析了啥 這些哪個做遊戲的不會遇到1F 03/27 13:35
分析可能的設計架構啊
但暴雪也不一定是用我說的方法設計
我只是從遊戲中嘗試推敲可能遭遇的困難點跟解決方案
畢竟這些都是商業機密

cwjchris: 我腦袋還停在D2時代,現在亞洲伺服器物理位置還是在韓國嗎?台灣沒有?3F 03/27 13:40
據我所知伺服器還是在韓國QQ

kazureyesean: 推,應該是內行人,我也感覺到D4的server端的架構跟以前D2D3有很大差異5F 03/27 13:45
不敢說內行
只是有在接觸雲
深知有些困難點是必然遭遇的

lostkimo: 城鎮的資源。我覺得太開太少了。進出時容易延遲7F 03/27 13:50
我是覺得整體資源都開太少了
不然就不會一堆隱形牆 @^@

sperma: 聽君一席話 如聽一席話 Google 分散式系統 隨便一篇都更詳細8F 03/27 13:50
確實
我懂得的確不多
就簡單提提我認為的困難點
以及觀察暴雪怎麼處理而已

stepnight: 你是業務?10F 03/27 13:54
我沒什麼誇哦==
系統資源開不夠
玩起來不太開心是真的

kazureyesean: 有點奇怪,前面一堆遊戲心得文隨便舉個簡單的點都不會被噓,分析雲端架構就要像論文一樣精彩?11F 03/27 13:55
有討論是好事~ 我很樂見大家多發言
也可以更了解我孤陋寡聞的程度

ho83leo: 同8樓13F 03/27 13:57
cwjchris: 不過這20年來台韓的網路也比以往快了不少吧(?)當年是真的連美西比亞洲(韓國)還快沒錯14F 03/27 13:59
ayler88: 記得現在D3韓服延遲約50ms, 但連美西200ms16F 03/27 14:01
redwan: 欸不是…他很明顯就是拿wow的鏡像系統來改的XD 不是早就分析到爛了嗎? 有興趣可以查一下17F 03/27 14:01
感謝情報~ 我沒接觸過 WOW
我再去看看其他人的分析

chink5566: Wow時代玩的鏡像跟跨服位面你是不是沒見識過19F 03/27 14:03
抱歉我真的沒見識過QQ

sperma: 因為這篇所謂的“分析”只是把分散式系統的基本講了一遍 就像有人發心得說“暗黑4就是放技能打怪掉寶”你看會不會被噓20F 03/27 14:04
這倒是
我把分散式系統套到 D4 上講一遍沒錯
不過我有分析 D4 應對的機制 分流跟地圖載入
在遊戲中所遇到的問題跟狀況
雖然很淺白像廢話,但別忽略啊QQ

chink5566: 伺服器方面 暴雪全盛期玩的可厲害了不用你操心
乖乖專注遊戲本體跟系統優化吧 爛如狗屎
吃系統效能這麼差 用PS5玩讀取又慢 畫質也沒多好
不要在這邊吹什麼比D3好幾百倍 你他媽讀取比戰神還23F 03/27 14:05
希望伺服器真的不是什麼問題

而系統優化真的是一大問題
官方建議16G記憶體,PC遊玩時吃超過32G屢見不鮮

edward198791: P大給推28F 03/27 14:09
Victor97: 這麼氣XD29F 03/27 14:10
a849070: 幫補血QQ30F 03/27 14:15
stepnight: 台灣這邊使用的伺服器一直都是問題
先瞭解一下台暴遊戲的現況31F 03/27 14:15
jedimull: 不知道是在噓什麼 分析得不錯給推33F 03/27 14:26
berryc: 進到地城就沒這個問題了,可以當作房主創私人房34F 03/27 14:40
我有遇到連地城入口都沒辦法順利顯示的狀況QQ

neetarashi: 還真的是雲架構分析XDDD35F 03/27 14:42
KingoO: 國小老師:1+1=2   屁孩:誰不知道?36F 03/27 14:56
stepnight: 國小老師:1+1=2 懂哥:跪舔太精闢了37F 03/27 15:02
※ 編輯: Portentera (106.1.226.172 臺灣), 03/27/2023 16:01:54
good10740: ctrl+r看延遲約80,跟D3韓服一樣,台灣可能沒設伺服器38F 03/27 16:52

--
作者 Portentera 的最新發文:
點此顯示更多發文記錄