天天看點

3D單機遊戲《天鷹教》源碼釋出(二)

3D單機遊戲《天鷹教》源碼釋出

閑話

        之前還發表過一篇關于《天鷹教》源碼的文章,故此标題多了個二()。本次釋出最大的亮點是,加入了碰撞檢測和自動尋路功能。

        本遊戲程式最初是我的畢業設計作品,早期時間倉促,代碼結構很糟糕。後來利用工作業餘時間,逐漸添加了一些新功能呢,比如:碰撞檢測和自動尋路。我喜歡程式設計,不擅長寫策劃,大家就不要噴内容哈。寫程式的時候,參考過很多高手的代碼,在此感謝大牛們的開源精神。在此,我也将代碼開源,跟大家共同學習交流。同時,也希望這些代碼,能對曾經像我一樣的遊戲程式設計新手有所幫助。​

劇情說明

    本遊戲《天鷹教》,是一款傳統的3D角色扮演類遊戲(RPG),講述的是元朝末年,

天鷹教反抗腐敗朝廷統治的英雄故事。玩家通過扮演遊戲中的角色,來了解天鷹教的

發展曆史。随着劇情的發展,玩家的命運将決定着整個天鷹教的興衰。

程式運作說明

1.本遊戲程式使用VC++2010 express開發工具,d3d9sdk(June 2010)開發。

2.遊戲程式為: bin/MyGame.exe。運作程式需要安裝vc++2010運作庫,以及dx(June 2010版本以上)運作庫。

3.特别說明: 由于自動尋路資料資源過大,目前資源包中,隻生成了test地圖的尋路資料。如果要測試其他地圖的

自動尋路,需要運作路點計算工具bin/Navigation.exe,生成所有地圖路點。所有地圖的路點資料總和預計為200M。

操作說明

移動:WASD

跳躍:空格鍵。(↑↓鍵可以在垂直方向,無障礙移動角色位置)

左旋:者滑鼠左/右鍵向左拖拽。

右旋:者滑鼠左/右鍵向右拖拽。

推進/推遠相機:滑鼠滾輪

切換相機模式:1-第一人稱,2-第三人稱,3-自由模式

滑鼠移動:滑鼠左鍵單擊

點選人物:滑鼠左鍵單擊

人物互動:滑鼠右鍵單擊

系統菜單:Esc

地圖資訊:M(可以直接在此界面裡,進行場景跳轉)

地圖編輯器:E

角色坐标資訊檢視:P

相機坐标資訊檢視:O

系統資訊:K

天空盒顯隐: F2

霧化開啟/關閉: F3

人物包圍盒開啟/關閉: F4

場景物體包圍盒開啟/關閉: F5

切換顯框模式: F8

代碼目錄說明

MyGame : 遊戲應用程式工程,也是vs解決方案所在目錄。

Navigation: 導航網格生成工程,用于生成導航網格資料。

bin : 應用程式生成目錄,以及遊戲所用到的資源、腳本、工具、第三方動态連結庫等。

lib : 第三方庫檔案目錄。

LZ3DEngine : Lazy3d遊戲引擎的核心工程。

LZGUI : 3d ui庫。

Font : 封裝了freetype字型庫。

Physics : 實體引擎。主要功能為碰撞檢測跟自動尋路。

PyWraper : python導出工程。

utility : 實用工具。字元串格式化,檔案處理,多線程,配置檔案解析器,記憶體池等。

LZData : 配置檔案解析器,支援簡易xml格式檔案以及原創lzd格式。此項目為舊工程,最新的實作已經整合到了utility工程。

third_part : 第三方代碼頭檔案。

third_part/audiere :    audiere.1.9.4 簡單音頻播放器。

third_part/freetype :   freetype.2.4.11 truetype字型處理。

third_part/boost :      boost.1.48 boost.python庫。

third_part/python :     python.2.7 解釋器。

截圖一覽

目錄組織

3D單機遊戲《天鷹教》源碼釋出(二)

一覽

3D單機遊戲《天鷹教》源碼釋出(二)

碰撞檢測,飛檐走避

3D單機遊戲《天鷹教》源碼釋出(二)

碰撞檢測,站在橋上看風景

3D單機遊戲《天鷹教》源碼釋出(二)

碰撞檢測,過獨木橋

3D單機遊戲《天鷹教》源碼釋出(二)

自動尋路

3D單機遊戲《天鷹教》源碼釋出(二)
3D單機遊戲《天鷹教》源碼釋出(二)
3D單機遊戲《天鷹教》源碼釋出(二)

生成導航網格

3D單機遊戲《天鷹教》源碼釋出(二)