電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
3D線上遊戲製作軟體 - 我的路徑搜尋程式碼分享下載

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式演算法
上一篇主題 :: 下一篇主題  
發表人 內容
avatar996
稍嫌羞澀的路人


註冊時間: 2008-04-22
文章: 1
來自: Taiwan
0.00 果凍幣

發表發表於: 2008-4-22, AM 9:46 星期二    文章主題: 3D線上遊戲製作軟體 - 我的路徑搜尋程式碼分享下載 引言回覆

來源文章網址:http://tw.myblog.yahoo.com/mmogc3d-mmogc3d
撰寫人:勇者大人


最近準備開始做3D地圖上的人物移動時,就去找出以前寫的路徑搜尋程式碼,
然後使用前稍微再測試一下看看,發現,怎麼執行結果怪怪的。。。
仔細檢查許久後,確定真的有bug啦~
原來是。。。以前曾有稍微改過,但是沒有經過仔細的測試。。。
難怪會遺留下bug。。。真是的。。。
不過,現在已經除掉嚕。。。也經過詳細的檢查了。

此路徑搜尋演算法是採用漩渦式的探測,每次尋路時都盡量向終點移動,
每移動一格,都會將移動路徑用數字紀錄在一個虛擬地圖內。
(此虛擬地圖可以自行設定大小,能決定尋路的遠近喔)
若是遇到死路,則開始從走過的路倒退,直到找到新路徑出現。
若是已找到的路徑超過512格,則判定為無路,不再搜尋。
若是虛擬地圖設太小而終點太遠,則判定為無路,不再搜尋。
所以將虛擬地圖設大,可以找到更遠的終點,
但是也更花搜尋時間和虛擬地圖記憶體。

若是順利找到了終點,則開始進行路線最佳化。
最佳化原理是,用路線的每一格編號來進行判斷,編號越大的,
有可能會是最短路線。(但不保證是)
例如現在這格編號是1,然後再開始搜尋該鄰近8格,
如果編號大於1,則先紀錄起來,直到鄰近8格都檢查過。。。
假設如果最後找到最大的編號是10,則會將路線的2~9編號格剃除,
而路線編號就會是1,10,11,12,13。。。

我這樣說明可能不清楚,大家也很難懂吧,那請多包涵了~


這裡有路徑搜尋程式碼可以下載:
http://avatar996.myweb.hinet.net/AV_PathTest-20071224.zip


若是有興趣的話,可以研究看看喔!
這並非是最好的路徑搜尋演算法,只能算是最容易實現的演算法。
而搜尋效能還不錯喔~ 我以前做的動作RPG南俠展昭痞子龍就是用該演算法,
非常好用,人物移動搜尋路徑時完全不會太慢。

_________________
3D線上遊戲製作軟體 - 玩家版 (研發中)
http://tw.myblog.yahoo.com/mmogc3d-mmogc3d
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式演算法 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作