您好,登錄后才能下訂單哦!
寫在前面的話
經常有學生或者初學者問我如何去閱讀和學習一個開源軟件的代碼,也有不少朋友在工作崗位時面對前同事留下的項目,由于文檔不完善、代碼注釋少、工程數量大,而無從下手。本文將來通過一個多人聯機實時對戰游戲——最后一戰,來解答以上問題。
其實,我以上問題在我是一個學生時,我也同樣因此而困惑,但是后來,我發現,對于文檔缺失、注釋缺失的項目,需要自己摸索,雖然是挑戰,同時也是機遇——一個不錯的學習機會。因為至少有代碼,正如侯捷大師所說的的,“源碼面前,了無秘密”,所以我們應該“read the fucking code”。
所以,這個系列的文章,我們分析“最后一戰”這個游戲源碼時,我們不會按照傳統的思路:先介紹總結的程序結構,再介紹各個模塊的細節,因為,當我們面對一套陌生的源碼時,尤其是在文檔缺失的情況下,我們根本無法開始就掌握這個項目的總體結構,我們只能從零開始一個個模塊的對代碼進行閱讀和調試,所以我們這個系列的文章也按這個思路來分析,以真實的案例來教會新手一步步讀懂一個開源項目的代碼。
我們先來看下這個游戲的內容吧,下面給出游戲畫面的部分截圖:
這是一款類似于王者榮耀、dota之類的5v5實時RPG競技游戲。
×××方法:微信搜索公眾號『easyserverdev』(中文名:高性能服務器開發),關注公眾號后,在公眾號中回復『最后一戰源碼』,即可得到下載鏈接。(噴子和代碼販子請遠離!)如果您按照要求做了以后會收到以下下載鏈接,并且這個鏈接的代碼是不斷更新的,你可以通過svn定期更新成最新的源碼:
客戶端的邏輯比較簡單,主要是一些游戲特效和動畫(基于Unity 3D),所以這里我們主要分析游戲的服務器端源碼。
先介紹一下推薦的源碼的運行和開發環境(我的配置):
Windows 7
Visual Studio 2010
服務器端有非常多的模塊,這里先截一張主要模塊的項目圖示:
從下一篇文章開始,我們將介紹如何學習這樣的源碼。整理源碼不易,如果您喜歡此文,幫忙給本文點個贊。
歡迎關注公眾號『easyserverdev』。如果有任何技術或者職業方面的問題需要我提供幫助,可通過這個公眾號與我取得聯系,此公眾號不僅分享高性能服務器開發經驗和故事,同時也免費為廣大技術朋友提供技術答疑和職業解惑,您有任何問題都可以在微信公眾號直接留言,我會盡快回復您。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。