国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向環(huán)境感知的即時(shí)戰(zhàn)略游戲信息交互設(shè)計(jì)

2022-07-15 09:54樊澤文喬秀明
關(guān)鍵詞:數(shù)組星際爭(zhēng)霸單位

王 慧,樊澤文,喬秀明

(北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100192)

0 引 言

游戲與智能體的結(jié)合是當(dāng)今學(xué)術(shù)領(lǐng)域的重要?jiǎng)?chuàng)新,早期智能體在游戲中扮演的是非玩家控制的角色以及怪物,1950年香農(nóng)教授在象棋博弈中使用智能體后,游戲與智能體的結(jié)合已經(jīng)走到人們眼前。早期智能體的行為由設(shè)計(jì)者預(yù)先設(shè)定,無(wú)法產(chǎn)生動(dòng)態(tài)變化,行為較為單一,對(duì)其進(jìn)行智能學(xué)習(xí)后智能體可以打破傳統(tǒng)的預(yù)設(shè)模式,根據(jù)當(dāng)前游戲環(huán)境狀態(tài)和自身狀態(tài)表現(xiàn)出一些自主行為。隨著不斷的學(xué)習(xí),智能體自身的性能會(huì)不斷改善,能夠更好的在復(fù)雜多變的游戲?qū)?zhàn)環(huán)境下制定高效的作戰(zhàn)策略,并根據(jù)當(dāng)前環(huán)境適當(dāng)?shù)恼{(diào)整。

多數(shù)人通過(guò)網(wǎng)絡(luò)認(rèn)識(shí)智能體,越來(lái)越多的智能體博弈游戲出現(xiàn),從棋類(lèi)游戲到規(guī)則更為復(fù)雜的MOBA類(lèi)游戲以及RPG游戲等。智能代理在游戲中的應(yīng)用也越來(lái)越多,比如星際爭(zhēng)霸Ⅱ,可提取游戲各種信息并保存在字典中,將數(shù)據(jù)轉(zhuǎn)換為多維數(shù)組對(duì)象,支持將多模態(tài)信息輸出,也可以將智能體的輸出動(dòng)作,映射到實(shí)時(shí)環(huán)境中。

智能體是機(jī)器學(xué)習(xí)研究中的一個(gè)新領(lǐng)域,其動(dòng)機(jī)在于通過(guò)嘗試模擬和實(shí)現(xiàn)人類(lèi)學(xué)習(xí)行為,建立起智能體的知識(shí)結(jié)構(gòu),并不斷地修改其結(jié)構(gòu),使其自身性能不斷改善。近年來(lái),智能體在實(shí)時(shí)游戲中的應(yīng)用越來(lái)越多,比如星際爭(zhēng)霸Ⅱ,可將多模態(tài)輸入數(shù)據(jù)表征輸入到環(huán)境代理組件,同時(shí)將環(huán)境代理組件的輸出動(dòng)作,映射到實(shí)時(shí)環(huán)境中。

星際爭(zhēng)霸系列是由暴雪娛樂(lè)制作發(fā)行的即時(shí)戰(zhàn)略游戲,自1998年以來(lái)已經(jīng)發(fā)行三版,成為近二十年來(lái)最暢銷(xiāo)和最杰出的游戲之一。在游戲中,玩家需要控制神族、人族、蟲(chóng)族三大種族之一的勢(shì)力,去完成具有未來(lái)科幻風(fēng)格的軍事化戰(zhàn)役。玩家需要不斷開(kāi)拓視野,收集資源并擴(kuò)大己方優(yōu)勢(shì),最終摧毀對(duì)方基地,以獲得全部勝利。關(guān)于對(duì)星際爭(zhēng)霸系列游戲的研究早在2010年就已經(jīng)開(kāi)始,起初研究人員主要以構(gòu)建硬編碼智能體參與競(jìng)技比賽,但是此類(lèi)模型沒(méi)有學(xué)習(xí)能力,完全基于預(yù)設(shè)規(guī)則執(zhí)行動(dòng)作,這種模型雖然可以擊敗星際爭(zhēng)霸?xún)?nèi)置AI,但還遠(yuǎn)未達(dá)到人類(lèi)基本能力。直到2017年DeepMind公司聯(lián)合暴雪娛樂(lè)共同發(fā)布了星際爭(zhēng)霸Ⅱ人工智能研究環(huán)境,星際爭(zhēng)霸Ⅱ也推出了一年一度的天梯賽——StarCraft 2 AI Ladder,為更多的智能體研究人員提供了更好的測(cè)試環(huán)境和數(shù)據(jù)支持。

1 本文研究概述

本文研究游戲環(huán)境信息交互過(guò)程,如圖1所示。首先,提取出游戲中的玩家信息和環(huán)境信息,將提取出來(lái)的數(shù)據(jù)信息轉(zhuǎn)換成多維數(shù)組的數(shù)據(jù)結(jié)構(gòu),并以字典格式保存;其次,將智能體決策出的動(dòng)作執(zhí)行到環(huán)境,首先根據(jù)游戲需求設(shè)計(jì)動(dòng)作,將其添加到動(dòng)作集中;最后,將動(dòng)作解析成智能體能夠處理的格式,使其能夠執(zhí)行到環(huán)境中。

圖1 游戲環(huán)境信息交互過(guò)程Fig.1 Game environment information interaction process

游戲地圖中包含了屏幕信息、玩家和游戲信息等多模態(tài)數(shù)據(jù),通過(guò)提取特征層來(lái)提取出來(lái),并轉(zhuǎn)換成能夠輸入到智能體的數(shù)據(jù)表征。

將動(dòng)作執(zhí)行到環(huán)境模塊,本文設(shè)計(jì)研究的動(dòng)作均為即時(shí)戰(zhàn)略游戲中一些常見(jiàn)單位,士兵、戰(zhàn)斗機(jī)、坦克等的基礎(chǔ)動(dòng)作,例如:攻擊、移動(dòng)等。每個(gè)單位必要的基礎(chǔ)動(dòng)作類(lèi)型,包括攻擊、移動(dòng)、停止、巡邏、原地防御以及啟用武器。

2 用戶和游戲信息的提取和轉(zhuǎn)換

游戲環(huán)境提供的觀察量共包含16大類(lèi)的數(shù)據(jù),例如:玩家信息、上次選擇的動(dòng)作信息、得分信息等。環(huán)境推進(jìn)過(guò)程中智能體的決策會(huì)利用到相關(guān)觀察量。本文將提取出游戲環(huán)境中封裝好的玩家和游戲信息,并將其轉(zhuǎn)換成多維數(shù)組的數(shù)據(jù)結(jié)構(gòu)。

2.1 游戲環(huán)境的信息提取

觀察量信息及其參數(shù)已被封裝在文件中,主要包含游戲畫(huà)面信息、小地圖信息、玩家信息、可用動(dòng)作集合等共12種,部分觀察量信息見(jiàn)表1。本文將通過(guò)觀察者模式反射,得到玩家和游戲信息,并自動(dòng)更新。

表1 觀察量集合Tab.1 Set of observations

提取玩家和游戲信息,需要連接API接口,通過(guò)觀察者模式使所有依賴(lài)于此模式的對(duì)象都能得到自動(dòng)更新,提取玩家和游戲信息時(shí)需要傳入智能體,或者長(zhǎng)度不同的參數(shù)組合,并且匹配接口的格式。首先,匹配游戲環(huán)境中定義的觀察量規(guī)格;其次,將python數(shù)據(jù)與某些二進(jìn)制文件進(jìn)行交互,客戶端發(fā)送請(qǐng)求,獲取當(dāng)前觀察數(shù)據(jù),使用觀察者模式將依賴(lài)于此模式的對(duì)象都得到通知并被自動(dòng)更新;最后,將提取的信息存儲(chǔ)為字符串類(lèi)型的觀察數(shù)據(jù)。

2.2 用戶和游戲環(huán)境信息轉(zhuǎn)換

提取完成后,游戲的各種觀察數(shù)據(jù)將以字符串的形式保存在數(shù)組中。智能體的輸入,需要字典格式的數(shù)據(jù)類(lèi)型,本文將通過(guò)轉(zhuǎn)換函數(shù)將游戲信息轉(zhuǎn)換為強(qiáng)化學(xué)習(xí)可以處理的數(shù)據(jù)結(jié)構(gòu)。智能體輸入數(shù)據(jù)時(shí)挑選所需要的數(shù)據(jù),編碼后即可輸入。

將觀察結(jié)果轉(zhuǎn)化為智能體可處理的結(jié)果。首先,需要?jiǎng)?chuàng)建一個(gè)字典,用來(lái)存儲(chǔ)各種類(lèi)型的數(shù)據(jù),儲(chǔ)存的數(shù)據(jù)是從游戲環(huán)境提取的信息,包括地圖名稱(chēng)、上次的操作、單選、創(chuàng)建隊(duì)列等;判斷特征尺寸是否存在于智能體接口迷你地圖特征以及屏幕特征中,則將觀察量和智能體的接口的參數(shù)進(jìn)行指定軸的鏈接,通過(guò)指定的軸鏈接屏幕和小地圖數(shù)組特征,將數(shù)據(jù)以流的形式讀入,轉(zhuǎn)化成多維數(shù)組對(duì)象。智能體的輸入數(shù)據(jù)就可以從字典中挑選需要的數(shù)據(jù),編碼后作為智能體的輸入數(shù)據(jù)。

輸出數(shù)組包括動(dòng)作結(jié)果、受到攻擊的張量、得分、得分類(lèi)型、必要得分、玩家參數(shù)、單元向量、單選和多選、計(jì)算單元特征、匹配單位向量等數(shù)組。

游戲信息提取并完成轉(zhuǎn)化后,將其以多維數(shù)組格式存儲(chǔ)。表2為提取后的部分游戲信息,最終轉(zhuǎn)換結(jié)果為24組數(shù)據(jù)信息,可以直接從中抽取智能體輸入需要的數(shù)據(jù),編碼即可使用。

表2 玩家和游戲信息Tab.2 Player and game information

3 動(dòng)作執(zhí)行到環(huán)境

3.1 單位動(dòng)作的設(shè)計(jì)

星際爭(zhēng)霸Ⅱ游戲中每個(gè)兵種都有自己獨(dú)特的動(dòng)作類(lèi)型,但每個(gè)兵種共有的基礎(chǔ)動(dòng)作相同,包括攻擊、移動(dòng)、停止、巡邏、原地防御5種,不同單位這5種動(dòng)作的基本細(xì)節(jié)不同。每個(gè)單位的攻擊方式不同,移動(dòng)速度不同,巡邏地點(diǎn)與范圍也有差異。本文設(shè)計(jì)兩種動(dòng)作類(lèi)型,一是簡(jiǎn)單動(dòng)作,只涉及到單位自身的動(dòng)作,如移動(dòng);另一種類(lèi)型是組合動(dòng)作,涉及到多個(gè)單位,或者說(shuō)有觸發(fā)的前提條件,如攻擊。

3.2 動(dòng)作執(zhí)行到環(huán)境設(shè)計(jì)

根據(jù)對(duì)星際爭(zhēng)霸Ⅱ的動(dòng)作調(diào)查,玩家可以對(duì)游戲做出相應(yīng)動(dòng)作與控制,包括視野,選中單位等,使得玩家可以對(duì)兵種單位進(jìn)行控制。玩家可以對(duì)地圖和單位做出下列操作:為動(dòng)作原型選擇動(dòng)作空間、移動(dòng)攝像頭等。一個(gè)游戲中會(huì)包括許多基本動(dòng)作,而基本動(dòng)作組合后成為組合動(dòng)作,組合動(dòng)作所衍生的動(dòng)作空間很大,需要使用組合動(dòng)作函數(shù),每一個(gè)函數(shù)都帶有一定的參數(shù),共13個(gè),這樣可以簡(jiǎn)化游戲的動(dòng)作空間。

執(zhí)行動(dòng)作根據(jù)游戲需要設(shè)計(jì)動(dòng)作類(lèi)型,例如:攻擊、移動(dòng)等,本實(shí)驗(yàn)使用代理組件庫(kù)中提供的動(dòng)作格式設(shè)計(jì)動(dòng)作,并將其轉(zhuǎn)換成智能體可以處理的格式,最后根據(jù)動(dòng)作實(shí)際執(zhí)行效果,人為驗(yàn)證動(dòng)作是否合理可用。

3.3 動(dòng)作執(zhí)行到環(huán)境具體實(shí)現(xiàn)

智能體將動(dòng)作作用到環(huán)境。首先,分別取出一個(gè)觀測(cè)空間的維度和一個(gè)動(dòng)作空間的維度,并取出智能體;其次,使用相關(guān)函數(shù)初始化,關(guān)聯(lián)動(dòng)作空間和觀測(cè)空間。對(duì)智能體的所有環(huán)境初始化,取出其中的所有動(dòng)作,對(duì)其進(jìn)行訓(xùn)練,直到達(dá)到最后一幀,將智能體動(dòng)作傳送到環(huán)境中,完成動(dòng)作映射。通過(guò)判斷動(dòng)作是否可用,參數(shù)數(shù)量以及參數(shù)是否有效,決定動(dòng)作是否執(zhí)行成功。

4 測(cè)試與分析

本文測(cè)試是基于銀河編輯器為模型人為添加動(dòng)作,故無(wú)法保證每個(gè)動(dòng)作的正確性和可行性,需要根據(jù)游戲邏輯返回不同函數(shù),根據(jù)實(shí)際游戲動(dòng)作人為認(rèn)證效果是否正確。為設(shè)計(jì)好的動(dòng)作搭建測(cè)試環(huán)境,進(jìn)行編碼測(cè)試,測(cè)試主要采用了前后端分離的方式,前端基于已有的銀河編輯器,在GUI界面進(jìn)行游戲環(huán)境的設(shè)計(jì),提供一個(gè)相對(duì)完善的游戲環(huán)境,玩家可以在指定區(qū)域內(nèi)自行放置單位,并且設(shè)置單位的生命值、移動(dòng)速度、搭載的武器、射程范圍、單位所有動(dòng)作等屬性;后端利用環(huán)境代理庫(kù)中的決策函數(shù),以游戲環(huán)境觀察量以及單位和單位所有動(dòng)作為基礎(chǔ),隨機(jī)決策出一個(gè)動(dòng)作,作用于環(huán)境,人為觀察動(dòng)作執(zhí)行過(guò)程與執(zhí)行結(jié)果,測(cè)試動(dòng)作結(jié)果見(jiàn)表3。

表3 測(cè)試動(dòng)作列表Tab.3 Test action list

5 結(jié)束語(yǔ)

本文詳細(xì)的描述了面向環(huán)境感知的實(shí)時(shí)游戲數(shù)據(jù)交互的全部實(shí)現(xiàn)過(guò)程。在環(huán)境代理庫(kù)中尋找到游戲環(huán)境信息的表示后,通過(guò)判斷游戲屏幕和小地圖特征圖層的信息,提取特征層、游戲信息并轉(zhuǎn)換為智能體的輸入數(shù)據(jù)格式,為智能體的訓(xùn)練提供觀察量,最后使智能體成功執(zhí)行動(dòng)作,更新游戲地圖。

猜你喜歡
數(shù)組星際爭(zhēng)霸單位
JAVA稀疏矩陣算法
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
終點(diǎn),亦是起點(diǎn)
Neotv論壇:星際爭(zhēng)霸2在國(guó)內(nèi)的另一面鏡子
更高效用好 Excel的數(shù)組公式
星際爭(zhēng)霸復(fù)刻:不談情懷,就真的一無(wú)是處了么?
星際爭(zhēng)霸復(fù)刻:不談情懷,就真的一無(wú)是處了么?
Theme Analysis on Pursuit of Friendship in Oliver Twist
長(zhǎng)度單位
尋找勾股數(shù)組的歷程
梨树县| 辽阳市| 满城县| 奈曼旗| 嘉兴市| 诸城市| 长治县| 宿迁市| 乐业县| 延川县| 阳高县| 海丰县| 萨迦县| 闻喜县| 渑池县| 信阳市| 宁远县| 襄樊市| 桐柏县| 缙云县| 通化市| 运城市| 双鸭山市| 昌江| 丹东市| 临夏县| 嘉禾县| 江城| 梅州市| 乌苏市| 安福县| 东光县| 梧州市| 白水县| 左云县| 德安县| 武鸣县| 遵义市| 遂溪县| 新昌县| 枣强县|