寫在前面的話服務器
常常有學生或者初學者問我如何去閱讀和學習一個開源軟件的代碼,也有很多朋友在工做崗位時面對前同事留下的項目,因爲文檔不完善、代碼註釋少、工程數量大,而無從下手。本文未來經過一個多人聯機實時對戰遊戲——最後一戰,來解答以上問題。微信
其實,我以上問題在我是一個學生時,我也一樣所以而困惑,可是後來,我發現,對於文檔缺失、註釋缺失的項目,須要本身摸索,雖然是挑戰,同時也是機遇——一個不錯的學習機會。由於至少有代碼,正如侯捷大師所說的的,「源碼面前,了無祕密」,因此咱們應該「read the fucking code」。svn
因此,這個系列的文章,咱們分析「最後一戰」這個遊戲源碼時,咱們不會按照傳統的思路:先介紹總結的程序結構,再介紹各個模塊的細節,由於,當咱們面對一套陌生的源碼時,尤爲是在文檔缺失的狀況下,咱們根本沒法開始就掌握這個項目的整體結構,咱們只能從零開始一個個模塊的對代碼進行閱讀和調試,因此咱們這個系列的文章也按這個思路來分析,以真實的案例來教會新手一步步讀懂一個開源項目的代碼。性能
咱們先來看下這個遊戲的內容吧,下面給出遊戲畫面的部分截圖:學習
這是一款相似於王者榮耀、dota之類的5v5實時RPG競技遊戲。動畫
源碼下載方法:微信搜索公衆號『easyserverdev』(中文名:高性能服務器開發),關注公衆號後,在公衆號中回覆『最後一戰源碼』,便可獲得下載連接。(噴子和代碼販子請遠離!)若是您按照要求作了之後會收到如下下載連接,而且這個連接的代碼是不斷更新的,你能夠經過svn按期更新成最新的源碼:spa
客戶端的邏輯比較簡單,主要是一些遊戲特效和動畫(基於Unity 3D),因此這裏咱們主要分析遊戲的服務器端源碼。調試
先介紹一下推薦的源碼的運行和開發環境(個人配置):code
Windows 7server
Visual Studio 2010
服務器端有很是多的模塊,這裏先截一張主要模塊的項目圖示:
從下一篇文章開始,咱們將介紹如何學習這樣的源碼。整理源碼不易,若是您喜歡此文,幫忙給本文點個贊。
歡迎關注公衆號『easyserverdev』。若是有任何技術或者職業方面的問題須要我提供幫助,可經過這個公衆號與我取得聯繫,此公衆號不只分享高性能服務器開發經驗和故事,同時也免費爲廣大技術朋友提供技術答疑和職業解惑,您有任何問題均可以在微信公衆號直接留言,我會盡快回復您。