發(fā)布時(shí)間:2024-01-16 13:02:53 瀏覽量:201次
伴隨著2021年以來元宇宙的異軍突起,相關(guān)研究得到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,迅速成為各界關(guān)注的焦點(diǎn)話題。
作為游戲人工智能中不可缺少的一個(gè)環(huán)節(jié),尋路已經(jīng)成為影響游戲最終效果的一大重要因素。另一方面,在游戲的設(shè)計(jì)環(huán)節(jié)中,難度設(shè)置是否合理對(duì)于游戲的用戶體驗(yàn)起著至關(guān)重要的作用。
蒙特卡洛方法是一種基于概率的數(shù)值計(jì)算方法,又被稱作計(jì)算機(jī)隨機(jī)模擬方法,強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種重要方法,蒙特卡洛樹搜索作為強(qiáng)化學(xué)習(xí)中一種常見算法。
它通過不斷在決策空間中選取隨機(jī)樣本來構(gòu)建和更新搜索樹,選擇:蒙特卡洛樹在進(jìn)行節(jié)點(diǎn)選擇時(shí)利用UCB選取需要訪問的節(jié)點(diǎn)。擴(kuò)展:當(dāng)訪問節(jié)點(diǎn)為葉節(jié)點(diǎn)時(shí),會(huì)判斷當(dāng)前節(jié)點(diǎn)是否已被訪問過,如果已被訪問過,則將當(dāng)前節(jié)點(diǎn)接下來所有可能的動(dòng)作列為當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。
在完成以上全部環(huán)節(jié)后,蒙特卡洛樹會(huì)通過計(jì)算概率的方式判斷節(jié)點(diǎn)的好壞,并在選擇時(shí)優(yōu)先選擇勝率較高的節(jié)點(diǎn)。
2015年,DeepMind設(shè)計(jì)了基于MCTS和CNN的AlphaGo算法[35],隨后在比賽中擊敗了人類頂級(jí)玩家。從邏輯上,蒙特卡洛搜索樹的搜索過程十分簡(jiǎn)單,通過不斷地模擬、反向傳播來構(gòu)建生成搜索樹。
從游戲類型上,蒙特卡洛樹適用于像圍棋,迷宮這樣的在有限步數(shù)內(nèi)可以解決的問題,進(jìn)行路徑搜索,其中f(n)代表從路徑起點(diǎn)到達(dá)路徑終點(diǎn)的預(yù)計(jì)總消耗g(n)代表從路徑起點(diǎn)到達(dá)人物當(dāng)前位置的路徑消耗,曼哈頓距離是標(biāo)準(zhǔn)A*算法中最常被使用到的距離表示方法之一。
假設(shè)地圖中相鄰兩個(gè)網(wǎng)格的距離為1,曼哈頓距離規(guī)定。
在本文中,我們用歐氏距離來代表距離。人工勢(shì)場(chǎng)法是一種基于勢(shì)場(chǎng)的局部尋路算法,常用在機(jī)器人尋路及避障中。
人工勢(shì)場(chǎng)法存在目標(biāo)點(diǎn)不可達(dá)的問題。在人工勢(shì)場(chǎng)中通常障礙物位置的分布并不均勻,可能會(huì)存在目標(biāo)點(diǎn)的旁邊分布有障礙物的情況。
針對(duì)這個(gè)問題,可以采用當(dāng)游戲智能體接近目標(biāo)點(diǎn)時(shí),改變游戲智能體所受斥力函數(shù),使智能體所受斥力小于引力的方式加以解決。
A*尋路算法作為啟發(fā)式尋路算法的代表雖然整體尋路效率相較以往傳統(tǒng)的盲目式尋路得到了較大提升,對(duì)于OpenList列表的操作。尋路路徑過于機(jī)械。
由于A*算法尋路的結(jié)果是以節(jié)點(diǎn)為單位的,由于A*尋路算法每輪訪問時(shí)都需要遍歷OpenList,從Openlist中選取F值最小的節(jié)點(diǎn)進(jìn)行遍歷并將該節(jié)點(diǎn)從中刪除。A*尋路算法每輪選擇需要遍歷的節(jié)點(diǎn)時(shí)都要訪問Openlist,在進(jìn)行節(jié)點(diǎn)插入時(shí),每次會(huì)根據(jù)插入節(jié)點(diǎn)值的大小從根節(jié)點(diǎn)開始向下尋找其應(yīng)該處于的位置并插入該節(jié)點(diǎn)。
而在進(jìn)行節(jié)點(diǎn)刪除時(shí),由于在使用Openlist時(shí),我們僅需要距離值最小的節(jié)點(diǎn)作為每次訪問節(jié)點(diǎn),為了檢驗(yàn)改進(jìn)存儲(chǔ)結(jié)構(gòu)后的A*算法尋路效果,我們?cè)谝粡堄?0*20個(gè)節(jié)點(diǎn)組成的地圖上對(duì)其進(jìn)行了驗(yàn)證。
針對(duì)上述尋路路徑過于機(jī)械的問題,本文通過將A*算法同人工勢(shì)場(chǎng)法結(jié)合的方式進(jìn)行改進(jìn)。將改進(jìn)后的人工勢(shì)場(chǎng)法同A*算法結(jié)合后,可以通過由A*算法事先計(jì)算所得的全局路徑為其提供全局指引,由于A*算法在整體路徑搜索過程中起到的作用是提供一條全局路徑作為指引。
因此首先應(yīng)用A*尋路算法進(jìn)行全局尋路,在計(jì)算全局路徑給尋路體帶來的引力時(shí),首先找到從當(dāng)前節(jié)點(diǎn)到全局路徑最近的位置,具體做法是從全局路徑的初始節(jié)點(diǎn)開始迭代。
值得一提的是,上述算法在真實(shí)游戲環(huán)境中運(yùn)行時(shí)不同于測(cè)試環(huán)境的重要一點(diǎn)在于,在測(cè)試環(huán)境中進(jìn)行測(cè)試時(shí),我們只會(huì)進(jìn)行一次全局路徑搜索并用此結(jié)果為尋路提供指引。
此外,在一些即時(shí)策略類游戲如皇室戰(zhàn)爭(zhēng)中,不同卡牌角色對(duì)于尋路的要求會(huì)有所不同,如像“巨人”角色一旦確定目標(biāo)就不會(huì)改變。
此外,在一些即時(shí)策略類游戲如皇室戰(zhàn)爭(zhēng)中,不同卡牌角色對(duì)于尋路的要求會(huì)有所不同,如像“巨人”角色一旦確定目標(biāo)就不會(huì)改變,標(biāo)準(zhǔn)A*算法以節(jié)點(diǎn)為單位進(jìn)行尋路,其找到的路徑雖然是所有節(jié)點(diǎn)路徑中最快的一條。
我們還將改進(jìn)后的算法同標(biāo)準(zhǔn)人工勢(shì)場(chǎng)法進(jìn)行了對(duì)比,我們同樣在一張31*31的二維平面中進(jìn)行實(shí)驗(yàn),用藍(lán)色線條代表改進(jìn)后的算法路徑,紅色線條代表標(biāo)準(zhǔn)人工勢(shì)場(chǎng)法的路徑。
從上述實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),結(jié)合A*算法和人工勢(shì)場(chǎng)法之后的算法相較單純的A*算法和人工勢(shì)場(chǎng)法尋路效果均得到了明顯提升。
從上述實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),結(jié)合A*算法和人工勢(shì)場(chǎng)法之后的算法相較單純的A*算法和人工勢(shì)場(chǎng)法尋路效果均得到了明顯提升。在游戲未發(fā)布階段由于要對(duì)游戲難度進(jìn)行分析,往往需要提前預(yù)測(cè)難度。
鑒于機(jī)器學(xué)習(xí)在游戲領(lǐng)域的良好運(yùn)用,我們以迷宮游戲?yàn)槔龑?duì)蒙特卡洛樹在具體游戲中的應(yīng)用加以分析。在迷宮類游戲中,尋路點(diǎn)到終點(diǎn)的距離是影響最終模擬效果的一大重要因素。
我們以迷宮游戲?yàn)槔龑?duì)蒙特卡洛樹在具體游戲中的應(yīng)用加以分析。在迷宮類游戲中,尋路點(diǎn)到終點(diǎn)的距離是影響最終模擬效果的一大重要因素,針對(duì)改進(jìn)版蒙特卡洛算法,本文通過一個(gè)迷宮游戲驗(yàn)證其能否提高游戲智能體在模擬時(shí)的成功率。
第一階段實(shí)驗(yàn)分為障礙物數(shù)量較多及較少兩種情況進(jìn)行。每次實(shí)驗(yàn)重新選擇起點(diǎn)和終點(diǎn)然后分別在兩種情況下各自進(jìn)行實(shí)驗(yàn)并對(duì)比成功率。通過本階段實(shí)驗(yàn)數(shù)據(jù)可以得到,在障礙物較少的情況下,UCB改進(jìn)效果較好,有九次模擬成功率優(yōu)于未改進(jìn)之前。
通過本階段實(shí)驗(yàn)可以得到,在尋路距離較近的情況下,UCB改進(jìn)效果較好,有七次模擬成功率優(yōu)于未改進(jìn)之前。
實(shí)驗(yàn)結(jié)束后,我們對(duì)產(chǎn)生上述結(jié)果的原因進(jìn)行了分析。從結(jié)論可以看出,改進(jìn)后蒙特卡洛樹的整體模擬效率相較改進(jìn)之前有所提升,為驗(yàn)證改進(jìn)MCTS后數(shù)據(jù)是否有效,本文將經(jīng)上述過程得到的數(shù)據(jù)通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了訓(xùn)練,其中黑色節(jié)點(diǎn)代表障礙物,黃色代表起點(diǎn),綠色代表終點(diǎn)。
在使用訓(xùn)練集完成訓(xùn)練后,利用訓(xùn)練好的模型對(duì)預(yù)測(cè)集中圖像進(jìn)行預(yù)測(cè)。在制作訓(xùn)練集時(shí),將同一張地圖看作一個(gè)訓(xùn)練集。本章針對(duì)在游戲未發(fā)布階段分析游戲難度過程中,采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行難度分析時(shí),由MCTS模擬所得訓(xùn)練數(shù)據(jù)成功率較低。
闖關(guān)迷宮游戲是一款基于Unity3D引擎設(shè)計(jì)與實(shí)現(xiàn)的單機(jī)游戲,使用C#進(jìn)行游戲開發(fā),由于本游戲中玩家在不同關(guān)卡面對(duì)的游戲地圖都不相同,因此在游戲開始之初需要對(duì)各關(guān)卡難度進(jìn)行衡量,方便后續(xù)關(guān)卡設(shè)置。
玩家在游戲中的視角如下圖所示,游戲界面由三部分構(gòu)成,分別是墻體、障礙物以及普通地面,其中墻體中包含一個(gè)特殊的節(jié)點(diǎn),為終點(diǎn)位置。游戲的規(guī)則是每輪游戲玩家需要從起點(diǎn)出發(fā),在規(guī)定的時(shí)間內(nèi)獲得足夠的積分并找到迷宮的出口方能取得勝利。
該迷宮游戲共分為兩種模式,分別是傳統(tǒng)模式及闖關(guān)模式。在傳統(tǒng)模式中,玩家每局的積分都從零開始,玩家在一局比賽失敗后可以選擇重新開始本局游戲。
除以上常規(guī)設(shè)置外,本文還在游戲中設(shè)置了一些道具用于增加游戲的趣味性。游戲中設(shè)置了一些精美的工具,例如能量獲取瓶可以增加玩家的血量,為了更好地提升游戲效果,本文在多處運(yùn)用到了動(dòng)畫系統(tǒng)。在敵人動(dòng)畫上,敵人包括多個(gè)狀態(tài),在尋路方面,本迷宮游戲中共包含兩種角色,玩家角色及敵人角色。
玩家角色通過玩家使用鍵盤控制前后左右移動(dòng),鼠標(biāo)控制轉(zhuǎn)向,P鍵及空格鍵控制下蹲及跳躍。
“迷宮闖關(guān)”游戲的游戲規(guī)則看似簡(jiǎn)單,但在游戲進(jìn)入到高關(guān)卡階段時(shí)往往會(huì)有很強(qiáng)大的boss出現(xiàn),一旦玩家陷入到同boss的爭(zhēng)斗中難以擺脫,本章使用Unity3D開發(fā)工具作為引擎,設(shè)計(jì)出一個(gè)適合檢驗(yàn)改進(jìn)后算法的迷宮游戲,對(duì)前兩章提出的改進(jìn)版A*尋路算法及難度分析算法加以使用。
游戲難度的設(shè)置是否合理對(duì)于玩家的游戲體驗(yàn)起著至關(guān)重要的作用。過高或過低的難度設(shè)置很有可能會(huì)導(dǎo)致玩家在游戲過程中感到沮喪或是無聊,進(jìn)而導(dǎo)致玩家因不好的用戶體驗(yàn)而退出游戲。
作為游戲人工智能中不可缺少的一大重要環(huán)節(jié),尋路已經(jīng)成為影響游戲最終效果的一大重要因素,提出了一種基于傳統(tǒng)A*算法的改進(jìn)版游戲路徑生成算法。
熱門資訊
1. 照片變漫畫效果,這4個(gè)方法操作簡(jiǎn)單有效,快來試試吧!
想將照片變成漫畫效果?這篇文章分享了4個(gè)方法,包括Photoshop、聰明靈犀、VanceAI Toongineer、醒圖,簡(jiǎn)單操作就能實(shí)現(xiàn),快來嘗試一下吧!
2. 華為手機(jī)神奇“AI修圖”功能,一鍵消除衣服!原圖變身大V領(lǐng)深V!
最近華為手機(jī)Pura70推出的“AI修圖”功能引發(fā)熱議,通過簡(jiǎn)單操作可以讓照片中的人物換裝。想了解更多這款神奇功能的使用方法嗎?點(diǎn)擊查看!
近年來,人工智能逐漸走入公眾視野,其中的AI圖像生成技術(shù)尤為引人注目。只需在特定軟件中輸入關(guān)鍵詞描述語以及上傳參考圖就能智能高效生成符合要求的...
4. AI視頻制作神器Viggle:讓靜態(tài)人物動(dòng)起來,創(chuàng)意無限!
Viggle AI是一款免費(fèi)制作視頻的AI工具,能讓靜態(tài)人物圖片動(dòng)起來,快來了解Viggle AI的功能和優(yōu)勢(shì)吧!
5. Logo Diffusion——基于sd繪畫模型的AI LOGO 生成器
這下LOGO設(shè)計(jì)徹底不用求人了。接下來詳細(xì)演示一遍操作流程首先進(jìn)入Logo D... 想學(xué)習(xí)更多AI技能,比如說關(guān)于怎么樣利用AI來提高生產(chǎn)效率、還能做什么AI...
6. 零基礎(chǔ)10分鐘生成漫畫,教大家如何用AI生成自己的漫畫
接下來,我將親自引導(dǎo)你,使用AI工具,創(chuàng)作一本既有趣又能帶來盈利的漫畫。我們將一起探索如何利用這個(gè)工具,發(fā)揮你的創(chuàng)意,制作出令人驚嘆的漫畫作品。讓...
7. 趕緊收藏好!這4個(gè)完全免費(fèi)的AI視頻制作網(wǎng)站和工具
以下是一些免費(fèi)的AI視頻制作網(wǎng)站或工具,幫助您制作各種類型的視頻。 1. Lumen5:Lumen5是一個(gè)基于AI的視頻制作工具,可將文本轉(zhuǎn)換為視頻。 用戶可以使...
8. AI顯卡繪畫排行榜:4090無懸念,最具性價(jià)比出人意料
在AI繪圖領(lǐng)域,Stable Diffusion的顯卡繪圖性能備受關(guān)注。本文整理了Stable Diffusion顯卡的硬件要求和性能表現(xiàn),以及2023年3月顯卡AI繪圖效率排行榜和性價(jià)比排行榜。歡迎查看最新的AI顯卡算力排行榜。
9. 一款免費(fèi)無限制的AI視頻生成工具火了!國內(nèi)無障礙訪問!附教程
人人都可以動(dòng)手制作AI視頻! 打開網(wǎng)址https://pixverse.ai/,用郵箱注冊(cè)后,點(diǎn)擊右上角Create,就可以開始創(chuàng)作了。 PixVerse目前有文案生成視頻,和圖片生...
就能快速生成一幅極具藝術(shù)效果的作品,讓現(xiàn)實(shí)中不懂繪畫的人也能參與其中創(chuàng)作!真的超贊噠~趣趣分享幾款超厲害的AI繪畫軟件,提供詳細(xì)操作!有需要的快來...
最新文章
同學(xué)您好!