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