本文主要介紹游戲服務端開發教程(游戲服務端框架有哪些),下面一起看看游戲服務端開發教程(游戲服務端框架有哪些)相關資訊。
經常聽說有人打算自學技術,然后做一個單機游戲,但是很少聽說有人自己做了一個網游。除了工作量大,服務器的門檻也是原因之一。
相比游戲客戶端,游戲服務器更難上手。原因如下:第一,客戶端引擎和工具比較完善統一,學習資料很多,而服務器至今沒有很強的解決方案,都是自己的一套項目,很多都缺少文檔;第二,犯錯的風險更大。
尤其是對于網絡游戲,bug的危害比客戶端bug更大;再次,服務器的開發涉及很多技術領域,不直觀,增加了開發難度。
交叉層次多,導致知識盲區大。
從技術角度來說,門戶服務器的難點在于需要跨越更多的技術層面。下面是服務器端程序的一種分層,這里我分為六層。在實際項目中,有些層的內容往往較少,不會單獨分開,但邏輯分層大體相似。
這六層是基礎層核心層框架層邏輯底層邏輯中間層邏輯頂層,每層的內容如下:
基礎層
數學庫,數據結構,緩沖區,字符串處理,json等。
核心層
網絡庫、數據庫、協議編解碼、定時器
框架層
分布式結構、消息分發、熱更新、數據持久化
邏輯底層
登錄,實體,離線消息,黑名單,aoi算法。
邏輯中間層
項目、公告、電子郵件、聊天、頭銜、成就、排行榜、登錄和首次充電。
邏輯上層
戰斗,收到
這六層加上一些運維知識,構成了游戲服務器技術的知識結構。對于剛畢業,或者剛接觸服務器開發的同學,現有的知識結構一般如下圖所示。下圖顯示了一般計算機相關專業畢業生可能掌握服務器開發知識的程度。
大多數學校課程側重于基礎,因此合格的畢業生一般都有很好的基礎,尤其是在數學、操作系統、數據結構和算法方面。學校一般會開設網絡、數據庫等課程,如果參加科技項目,可能也會用到。
所以畢業生對核心層的知識接觸很少;因為在學校能寫一些程序或者課程作業,一般有簡單邏輯實現的基礎,所以邏輯的中級水平也略有接觸。而其他三層與游戲業務密切相關,一般聯系不多。
為什么不輕松自學?
經常聽說某某通過策劃自學技術做了一個好玩的單機游戲,但是很少聽說自學服務器誰做的好。除了即使做出來也不能直接給別人看的原因。漫長的學習過程是自學不容易的主要原因。如下圖,要做好服務器開發,
可能需要先學習socket和網絡協議,然后在此基礎上搭建服務器,再實現各種功能。
但是核心層的知識,比如網絡、數據庫,包含的內容比較多,而且如果要做到高效率、不出錯,需要學習很多內容。比如網絡,先丟幾本書,很厚。
比如數據庫,再丟一本書,還是很厚。
這就導致了學習的流程很長。以看書學習為例,如果學客戶端,可能看到第一章就能做個五子棋,看到第二章就能做個貪食蛇,以此類推,每一步都能出點成果。而如果看服務端的,那就完了,可能先啃個200頁的基礎,
啥都做不出來,等看到300頁才做個很基礎的,這對自學是非常打擊的。
游戲公司怎樣培養人新人
如果是比較成熟的游戲公司,會有一套帶新人的體系。一般而言,會從業務需求出發,先讓新人接觸簡單的業務邏輯,再逐步涉及復雜的業務,當熟悉業務后可能會嘗試一些改動框架底層的任務,以提升技術水平。
這樣每次學習基本只需學習一個層次的知識,減少了難度。
如下圖,在一開始時接觸較為簡單的業務,那么只需仿照邏輯中層的已有代碼,稍微熟悉支撐它的邏輯底層即可。對于復雜的核心層、框架層無需學會,減少了入門難度。
但也由于業務層不太涉及核心層和基礎層,某些公司不太注重長期的人才培養,僅培養到“能開發業務”這層就停止。對于新人,核心層與基礎就要靠自己學習。業務層的編寫更多是模仿能力,仿照已有的代碼改動,
而核心層會涉及一些底層的知識。
對比于從基礎開始的自學,公司培養模式的學習曲線如下圖的橙色線,學習一點就能出一點輸出。而自學曲線如藍色線,要花上較長時間才有輸出。
另一方面,某些游戲公司會給程序員評級,比如從初級程序、核心程序一直到行業專家。
其中一種等級劃分方法是根據能夠解決問題的范圍而定。如下圖,具體來說能夠解決部分業務問題的是初級程序員,能夠解決所有業務問題的是核心程序員,能夠解決所有技術問題的是副主程,
能夠在解決所有技術問題并能夠管理團隊的是主程,能解決任何問題的是行業專家。
盡管要2年后才動筆,作為后續服務端書籍的調研,一套好的教程應當有好的流程,從游戲公司的培養模式上汲取經驗,能夠讓讀者看一點就能輸出一點成果,盡量避免看到最后才能做點東西。另,
筆者的《unity3d網絡游戲實戰(第二版)》 詳解了一套簡易服務端的實現,歡迎關注。
怎么把蘋果手機視頻倒入電腦(蘋果手機視頻導入電腦)
電腦固態硬盤哪個盤,懂電腦的大佬幫忙看看 固態在哪個盤里
阿里旺旺電腦版登錄(阿里旺旺有電腦版嗎)
小米4c手機忘記解鎖圖案怎么辦,小米手機忘記賬號密碼怎么解鎖
光貓可以直接連電腦嘛(電腦能直接連接光貓嗎怎么連接光貓)
游戲服務端開發教程(游戲服務端框架有哪些)
硬盤誤格式化后能不能恢復文件夾,電腦硬盤能不能格式化
僅還原系統設置項可以還原系統么(什么叫僅還原系統設置項)
固態硬盤和機械硬盤差價,夠用固態硬盤比機械硬盤貴不了多少為什么
safari怎么設置一窗口多頁面手機,safari瀏覽器怎么設置一窗口多網頁
深圳賣美版手機怎么樣啊,深圳市福田區華強北賽格廣場7A011賣的手機好嗎
戴爾電腦怎樣截屏快捷方式(戴爾電腦怎么截屏幕快捷鍵)
聯想電腦特約維修站在哪里,山西晉中靈石的聯想電腦特約維修站在哪
iphone 13的尺寸(iphone 13的尺寸大小)
環境設計專業用什么筆記本電腦好,我是學環境設計專業的 不知道買什么筆記本好
win7隱藏文件后綴名(win7的后綴名怎么顯示)
硬盤上主板能換嗎,硬盤的主板可以換嗎
組裝電腦都需要買什么,組裝電腦都要買什么
美圖m6s怎么樣root,美圖公司怎么樣
電腦應用程序發生異常0xc06d007e(應用程序發生異常0xc000417)