注:這篇文章不僅會說登入服,還會說一些其它遊戲相關的事哦!
我們都知道,很多遊戲在上線時,都會大肆宣傳,最近宣傳比較多的就是《激戰2》了。(當然我不是《激戰2》的水軍)很多玩家都會提前坐在電腦前,等候遊戲官方給出的開服時間,搶點進入遊戲,因為這樣能佔據時間的紅利,可以在遊戲中占個好排名。當我們建立角色,進入遊戲的時候都會有乙個出生點。我們遊戲之旅一般都是從這個出生點開始。伴隨著遊戲的開始,一般都有遊戲新手引導。我們可曾想過為什麼要有新手引導呢?!有人會說是讓我熟悉一下遊戲的流程。但是你可否想過為什麼要先引導這個功能、這個任務,不先引導那個功能、那個任務?!先賣個關子。
說回登入服,由於玩家進入登入服和遊戲服都需要驗證,很多人會想為什麼不將登入服併入到遊戲服當中,而是單獨出來乙個程序。其實登入服除了登入驗證外,還有乙個很重要的功能就是建立角色!
之前說到,很多玩家都是在遊戲開服的時間點進入遊戲的。如果不作處理,遊戲很容易出現效能瓶頸。對於客戶端來說,在出生點場景很容易出現超出同屏人數限制;因為每乙個玩家的人物模型、技能特效以及其它的怪物模型、寵物模型、坐騎模型等等都需要渲染(一般只渲染螢幕可見範圍的一切物體)。過多的玩家聚集在同乙個地點,肯定會出現效能問題。對於服務端,也有同樣的問題,這個問題就是aoi問題(aoi俗稱視野);這個問題也會增加伺服器開銷。具體可以檢視我曾經寫過的一篇部落格。
(注:這下你知道為什麼一些遊戲在團戰,各個玩家放大招的時候會覺得卡了吧)
為了解決這個問題,那就要回到剛才說到的新手引導問題。新手引導不只要讓玩家熟悉遊戲流程;很多時候還會起到引流的作用。也就是將玩家引向不同的場景,因為這樣就能解決之前說到的同屏人數問題還有aoi問題,而且有一些服務端的設計會將不同場景對應到不同的遊戲服(多程序),這樣也能減少服務端的壓力。其實在開服這個時間節點上,有大量玩家需要在同一時間點建立角色,而且這個過程需要很多的io(相對較多);如果將登入服合併到遊戲服,必定會增加遊戲服的壓力。新手引導可以將玩家引向不同的場景,提高遊戲效能,但是登入是不講求場景的。最終的結果是建立角色的玩家載入慢,正在玩遊戲的玩家會覺得卡,傷害了玩家的使用者體驗!因此將登入服剝離開,利用多程序的優勢,會提公升整個遊戲效能的效能。其實在遊戲策劃中,開服開始的一段時間是相當重要,是能決定乙個玩家是否留存。如果遊戲開服就出現效能問題,玩家也可能會"累"覺不愛了。因此,這時的登入服就顯得相當重要了,比開服之後都顯得重要。
當然登入服的作用主要體驗在mmorpg等,因此登入服在頁遊、手遊的作用在弱化。
遊戲服務端為什麼須要登入服
注 這篇文章不僅會說登入服。還會說一些其他遊戲相關的事哦!我們都知道。非常多遊戲在上線時,都會大肆宣傳,近期宣傳比較多的就是 激戰2 了。當然我不是 激戰2 的水軍 非常多玩家都會提前坐在電腦前,等候遊戲官方給出的開服時間,搶點進入遊戲,由於這樣能占領時間的紅利,能夠在遊戲中占個好排名。當我們建立角...
遊戲 服務端的邏輯分服與物理分服
原來的架構是按照大服設計的,所以在資料庫上面的設計乙個服對應乙個資料庫。假設我們滾了500個服,就需要建500個資料庫,部署500個遊戲服。無論後續跨服 合服的業務擴充套件,還是運維的維護方面,都變得比較複雜和困難。特別是合服的需求上面,需要將兩個資料庫甚至多個資料庫合併成乙個資料庫。在量上來的時候...
遊戲服務端開發 一
資料儲存伺服器 遊戲中的資料大致分為靜態配置資料和動態的玩家資料。這裡主要討論玩家資料儲存的解決方案。雖然遊戲應用的寫操作要多於讀操作,但是加入快取層仍然有其必要性。多個應用伺服器啟動時從資料庫讀取資料會在瞬間給資料庫造成巨大壓力,如果將相對靜態的資料以檔案的形式放在應用伺服器本地,可以避免這個問題...