精華區beta WOW 關於我們 聯絡資訊
為什麼怪物能追你呢? 為什麼boss會跟著mt跑來跑去呢? 其實這攸關人工智慧 是不是屬於人工智慧必須要經過一個測驗 這個測驗叫做"杜林測驗" 測驗的方法是: 不告訴受測者哪一個是人工智慧所控制的 哪一個是真人控制所控制的 然後一個使用真人對真人 跟 電腦對真人 詢問受測者能不能分辨出哪一個是電腦控制的! 如果受測者答不出來 那這就算是一個成功的人工智慧!! 但是受測者的智商 當天的身體情況也要考慮在內 所以人工智慧的辨別界線非常模糊! ================================================== 今天我們就講一個簡單的人工智慧(或許有人不認為他是) 叫做"追逐" 在開始之前 我們手上有兩張圖片 可以在電腦的螢幕上面移動 一個是人所控制的 一個是電腦所控制的 要怎麼做才能讓電腦操控圖片追你呢? 首先我們要分析可能的情況 這時候會用到數學的座標系統 我畫了一張圖:http://img134.imageshack.us/img134/2343/chasing.jpg
圖中可以看到X的正向往右 Y的正向往下 電腦螢幕的2D座標原點是在螢幕的左上角 又可以看到一個紫色的點 紫色是玩家所控制的物件 而紅色的物件則是電腦所控制的 我又畫了一個圓圏線 是另外電腦可能在的地方 把這個圓圈擴大或縮小就涵蓋了所有的位置 再來是分析情況: 首先我們知道 一個點物件 裡面有兩個值 分別是 X軸的値 和 Y軸的値 在我畫的圖當中 電腦的點跟人的點關係一共有八種 1.紫色的X大於紅色的X 紫色的Y等於紅色的Y 2.紫色的X小於紅色的X 紫色的Y等於紅色的Y 3.紫色的Y大於紅色的Y 紫色的X等於紅色的X 4.紫色的Y小於紅色的Y 紫色的X等於紅色的X 5.紫色的X大於紅色的X 紫色的Y大於紅色的Y 6.紫色的X小於紅色的X 紫色的Y小於紅色的Y 7.紫色的Y大於紅色的Y 紫色的X小於紅色的X 8.紫色的X小於紅色的X 紫色的Y大於紅色的Y 上面有夠複雜... 所以為了簡化 我們可以設計一個程序 只要檢查四種情況就可以了!! 以下是程序: 1. 如果 紫色的X 大於 紅色的X 那麼 紅色的X應該 增加 才能逼近 紫色的X 2. 如果 紫色的X 小於 紅色的X 那麼 紅色的X應該 減少 才能逼近 紫色的X 3. 如果 紫色的Y 大於 紅色的Y 那麼 紅色的Y應該 增加 才能逼近 紫色的Y 4. 如果 紫色的Y 小於 紅色的Y 那麼 紅色的Y應該 減少 才能逼近 紫色的Y 電腦就會不停的執行這個程序!! 並且把更新的座標值畫上去 而電腦控制的物件就會慢慢的接近你所控制的物件!! 這就是為甚麼魔獸世界裡面的怪物可以朝你前進 但是這是最基本的方法 如果地圖有障礙物 有高低起伏 又是3D空間的話 就必須用到路徑演算法 我自己有做一個追逐程式 上下左右鍵可以控制白點 而紅點則是電腦操控的物件 影片:http://www.youtube.com/watch?v=N20nDiNFqh0
檔案:http://www.badongo.com/file/18764651 因為我用的是XNA... 所以還要下載 XNA Framework Redistributable 3.0 下載點:http://tinyurl.com/ydfep2e 謝謝大家:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.228.235.249
duanda:可憐的圖靈 12/02 01:16
snow5420:..................看不懂 12/02 01:16
mpben:快推,不然人家會以為我們看不懂 QQ 12/02 01:19
gp3lucky:[無用]為什麼鬼魂會追小精靈 12/02 01:21
kaminahitori:.............. 12/02 01:22
nevak:我對路逕演算法比較有興趣 12/02 01:22
iwcuforever:WOW有仇恨系統 離人工智慧的程度還很遠吧... 12/02 01:23
gekisen:太專業看不懂 .. 12/02 01:24
iwcuforever:真人控制的怪哪會那麼蠢打先鎧甲職= =' 12/02 01:24
nevak:人工智慧請參考大十字三王 12/02 01:25
Wolfinppt:如果王第一個先殺補師 副本還能玩嗎= =" 12/02 01:26
snow5420:推大十字3王 才有一點點人工智慧的FU 12/02 01:26
MuadDib:通過Turing Test能不能代表人工智慧是有很大爭議的 12/02 01:27
eplis:wow的怪因為有仇恨系統 我不認為有人工智慧@@ 12/02 01:28
eplis:但追逐那邊是正確的,基本上都是這樣做 12/02 01:28
gully:其實只要判斷式夠多就能通過杜林測試,真正的AI還很久... 12/02 01:30
ian123:戰場裡就很多人愛先殺鎧甲.....原來都是npc.... 12/02 01:33
eplis:因為鎧甲比較不會跑XD? 12/02 01:34
angol1337:同意可以用判斷式堆出夠聰明的擬AI 不過缺點是比較死 12/02 01:41
angol1337:之前修AI做期末作業就是用無限IF製來寫電腦方XDD 12/02 01:42
apolkingg8:我看不出來追逐演算法跟wow板的關係...? 12/02 01:43
kkelchung:為什麼王不會先殺補師QQ 12/02 01:45
allforyour2:WOW裡面的怪怎麼追你的怎麼會沒關係= =? 12/02 01:45
ll1:因為這遊戲還要生存下去啊! 12/02 01:46
allforyour2:小說也沒關係@_@ 因為玩不到 那個是背景故事 不是遊戲 12/02 01:46
hayabusa0615:你是不是今天上課剛學到什麼所以現在興奮的睡不著 12/02 01:48
samjo:我發現通常打三王某人血量低於50%立刻刷滿又會馬上猛掉血 12/02 01:51
juncat:..............................? 12/02 01:54
gain:吸乾那個女孩(?) 12/02 01:57
apolkingg8:照某樓的說法 那network板也併進來好了 關係大著呢 12/02 01:58
easonger:但我點了影片會馬上想點右邊其他的影片... 12/02 02:00
deltawai:加油!期待你的warcraft同人FPS~~ 12/02 02:10
tearcolor:如果開場大家都沒"任何"動作,那王會打誰? 12/02 02:11
angol1337:打最近的啊 12/02 02:14
stormeric:研究這個真有你的 12/02 02:21
stormeric:影片中你還開著foxy再載片嗎= = 12/02 02:23
marcodohan:好痛苦哦 12/02 02:40
samjo:薇格小電影是......我覺得真是有趣 12/02 03:24
newcinka:能否講解一下路逕演算法 , 對這個比較有興趣 12/02 03:25
freegreg:學術的WOW版 12/02 03:39
ZakuSIN:路徑演算法 從戰棋類遊戲來的 12/02 04:23
ZakuSIN:Wiki一下BFS大概可以了解一些基本 12/02 04:27
pttresident:push 12/02 05:59
thundertall:BZ:我們只是對怪物輸入:/target 玩家&仇恨值最高者 12/02 07:01
togolu:推,希望你以後能夠做出好遊戲 12/02 07:04
xup65p4:所以WOW有人工智慧嗎?? 依照杜林運算(第一次看到) 12/02 07:15
xup65p4:怪會追你-->電腦跟真人的動作一樣分不出來 12/02 07:15
xup65p4:王追MT-->人一定不會只追MT不殺其他人 12/02 07:16
xup65p4:那這樣的話同樣是追逐..算是有還是沒有AI阿?(or我邏輯錯?) 12/02 07:17
Raijuu:回樓上,如果是"玩家"操作,必定是先殺補師,則論點不成立 12/02 07:53
durnak:最近老師有講到途林 ,他因為承認出櫃,最後自殺了 12/02 08:57
durnak:在二次大戰的年代,英國承認出櫃有2種選擇 12/02 08:58
durnak:1個是坐牢,另外一個是化學去勢... 12/02 08:58
linfox:是個如果被發現是同性戀,英國就會輸掉二次大戰的人 12/02 10:37
mozenpee7:快推,不然人家會以為我們看不懂!! 12/02 15:09
Maylanis:看....看不懂.... 12/02 18:41
ironsalami:圖靈跟密碼學有關 :) 12/29 21:52