作為遊戲客戶端開發,需要掌握哪些伺服器方面的知識,以及如何學習?
12-30
作為遊戲客戶端開發,需要掌握哪些伺服器方面的知識,以及如何學習。
了解到有些上市遊戲公司使用mina,netty,還有些nodejs,同問中間件的選用建議。比如做web為主長短連接並用的手游。初級目標:怎麼不被後端人員唬住。中級目標:自己也能寫點兒伺服器。
高級目標:前後端架構通吃。
- 網路通訊/安全
- 網路遊戲同步機制
- 分散式系統
- 資料庫/存儲系統
目前用的多的還是C++啊,因為你客戶端渲染就得用DirectX於是整個程序只能用C++,伺服器端為了共享代碼,也就跟著C++了。
網路這一塊可以了解下長短連接的特點啦,看看socket編程啦,http啦。其實最直接的辦法就是看你們伺服器代碼了,我覺得伺服器代碼不會難於客戶端,刨除具體的遊戲邏輯,實際的代碼量也不會很大。
一般來說, 開發遊戲後端伺服器所需要的基礎知識包括: 網路, 資料庫。實際開發當中用的知識就更多了, 例如如何讓伺服器能高效的處理5000個連接。 如何不出現內存泄漏, 如何在1秒鐘之內完成用戶的請求。這些知識都不是一年兩年能學會的事。
不過現在隨著雲計算和各種nosql框架的出現,開發伺服器所依賴的基礎知識越來越少。大家開發的速度也是越來越快。
你說的中級目標實際上很容易實現, 用gametata,他們實際上是創建了一個通用的遊戲伺服器, 你只需要在上面開發你的邏輯就行了, 底層的類似,並發,數據存儲,完全不用問, 瞬間就能擁有6年遊戲伺服器開發技能。伺服器方面懂需要的知識 @Milo Yip的答案以及說的很清楚了~不過個人認為客戶端開發只需要對伺服器端有基本的的了解就夠,無論前端還是後端,更重要的在於代碼安全,而不是如何去寫功能。要知道不安全代碼可能帶來的損失比無法實現功能還要大得多得多。
一時說不明白,推薦一本書給你 《網路遊戲核心技術與實戰》
現在國內很多做遊戲開發、外貿網站、商城的用戶的最頭疼的就是遇到DOSS、CC這些攻擊,在遊戲行業已是「家常便煩"",那再選擇伺服器的時候肯定是要選擇單機防禦較高、帶寬較大、線路速度快、穩定的伺服器,做遊戲的話可以用美國DP機房高防伺服器,不管是在穩定速度上,還是在性價比上都是很不錯的,最主要的用國外伺服器,不用備案,嘻嘻..
以上有耀磊數據IDC服務商-小丁做解答,樓主可供參考喔!
為什麼不提物理和渲染方面的?
推薦閱讀: