Re: [請益] 回合制的遊戲AI設計概念
提供一下我覺得滿適合作為AI設計參考的東西
這個人寫了一個玩彈幕射擊遊戲的BOT
http://www.nicovideo.jp/watch/sm8089015
(要nico帳號才能看)
他的AI是用一種叫做「議會制彈幕迴避機關」的系統
http://shinh.skr.jp/diet/
實際上滿類似類神經網路的
雖然射擊遊戲是即時的,可是所謂的「即時」也只不過是每秒
要進行60個回合的回合制遊戲
這個議會中有很多議員,每個議員有各自的考量,然後最後投
票決定這個回合要做什麼。以東方而言,每個回合可以做的事
有:
移動八個方向,高速低速共16種
丟炸彈
什麼都不做
議會的成員有下列幾種
議長:
統合所有議員的意見,做出最後的決定。
所謂的統合不是單純的投票而已,每個議員對同樣的行動贊成
和反對的程度,也就是對自己決定的自信都不一樣。
生存優先:
對普通的狀況不表示意見,可是強烈否決任何會導致立即死亡
的舉動。擁有絕對的否決權,所以除非被逼到毫無選擇否則不
會死。(其他議員存在的目的就是防止被逼死)
安全優先:
喜歡往危險度低的方向移動。危險度用子彈的距離、方向、速
度計算。自信較高。
(不知道該怎麼稱呼):
專門針對朝自己方向來的子彈的議員。計算朝自己來的子彈的
中彈時間、迴避需要的時間,計畫往子彈垂直的方向閃開。自
信隨畫面中朝自己來的子彈的數量而定。
搖擺不定:
不管子彈左右移動。配合其他議員用的,自信通常較低。
想家:
想要回到畫面中下方這種通常比較安全的位置,防止被逼到牆
角。離家越遠越想家。
剩下幾個上面那個網頁沒寫可是我相信這個BOT有用到
攻擊性:
往可以攻擊到敵人的方向移動。
道具回收:
往道具的方向移動。
統合以上的意見然後進行大概相當長久的參數調整後就能弄出
一個AI了。
我覺得利用這種方式可以很方便的弄出許多遊戲的AI
主要的思考點在於「在現在的環境下什麼行動是好的,什麼行
動是不好的?有多好?有多不好?」
我就用這樣的方式寫過俄羅斯方塊的AI
可以消掉一排?很好
可以儘量貼齊別的方塊?不做
會跌得比較高?不太好
會留下空格?很糟
會碰到頂端?拜託不要
雖然他頂多撐幾百個方塊就掛了,可是考慮到反應速度和不會
手殘我覺得他比我強很多XD
跟寫出會做出最佳選擇的AI比起來,能做出不錯選擇的AI容易
很多。以一般遊戲而言花那種精神還不如讓AI作弊,省時省力
又省錢。
當然,像是棋類的就只能硬幹了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.88.76
推
09/24 00:43, , 1F
09/24 00:43, 1F
→
09/24 00:54, , 2F
09/24 00:54, 2F
推
09/24 01:04, , 3F
09/24 01:04, 3F
→
09/24 01:05, , 4F
09/24 01:05, 4F
→
09/24 01:15, , 5F
09/24 01:15, 5F
→
09/24 01:16, , 6F
09/24 01:16, 6F
推
09/24 01:24, , 7F
09/24 01:24, 7F
推
09/24 01:34, , 8F
09/24 01:34, 8F
→
09/24 01:36, , 9F
09/24 01:36, 9F
→
09/24 01:36, , 10F
09/24 01:36, 10F
→
09/24 01:53, , 11F
09/24 01:53, 11F
→
09/24 01:54, , 12F
09/24 01:54, 12F
推
09/24 05:58, , 13F
09/24 05:58, 13F
推
09/24 07:23, , 14F
09/24 07:23, 14F
→
09/24 07:23, , 15F
09/24 07:23, 15F
推
09/24 08:02, , 16F
09/24 08:02, 16F
推
09/24 19:53, , 17F
09/24 19:53, 17F
推
09/26 13:07, , 18F
09/26 13:07, 18F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 6 篇):
請益
20
62