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 解釋器。
截圖一覽
目錄組織
一覽
碰撞檢測,飛檐走避
碰撞檢測,站在橋上看風景
碰撞檢測,過獨木橋
自動尋路
生成導航網格