專利名稱:一種非玩家控制角色的行為決策方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種非玩家控制角色(NPC)的行為決策方法。
背景技術(shù):
當(dāng)前網(wǎng)絡(luò)游戲中大量存在NPC;這些NPC是根據(jù)游戲內(nèi)容的需要設(shè)計(jì)的一些能夠與玩家進(jìn)行互動(dòng)的虛擬角色;其任務(wù)是與玩家進(jìn)行一些互動(dòng)行為,對(duì)玩家的行為進(jìn)行響應(yīng), 例如幫助玩家共同作戰(zhàn)或者是攻擊接近的玩家等等。要實(shí)現(xiàn)NPC與玩家互動(dòng),現(xiàn)有方法一般是在進(jìn)行NPC的行為決策時(shí),根據(jù)某一個(gè)或多個(gè)決策參數(shù)作為行為決策依據(jù),預(yù)先設(shè)置這些決策參數(shù)的數(shù)值與具體行為之間的對(duì)應(yīng)關(guān)系,當(dāng)前決策參數(shù)的值對(duì)應(yīng)哪個(gè)行為,就執(zhí)行哪個(gè)行為,從而實(shí)現(xiàn)互動(dòng)。然而,這樣的行為決策過(guò)于簡(jiǎn)單,通常不夠智能,最終實(shí)現(xiàn)的互動(dòng)效果比較固定和單一,容易被玩家掌握規(guī)律,從而使玩家失去互動(dòng)的興趣,降低玩家的游戲體驗(yàn)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種NPC的行為決策方法,能夠使NPC的互動(dòng)行為更加智能。為達(dá)上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的—種非玩家控制角色NPC的行為決策方法,該方法包括預(yù)先根據(jù)NPC行為的目的確定NPC行為決策的目標(biāo)函數(shù)和約束條件;在進(jìn)行NPC的行為決策時(shí),根據(jù)所述目標(biāo)函數(shù)和約束條件,通過(guò)模擬退火算法對(duì)所述目標(biāo)函數(shù)進(jìn)行最優(yōu)化求解;根據(jù)所述求解過(guò)程得到的最優(yōu)解確定NPC的行為。 較佳地,所述對(duì)目標(biāo)函數(shù)進(jìn)行最優(yōu)化求解時(shí),進(jìn)一步結(jié)合遺傳算法。較佳地,該方法進(jìn)一步包括所述確定NPC的行為之后,進(jìn)一步根據(jù)所述行為的結(jié)果計(jì)算訓(xùn)練參數(shù);根據(jù)所述訓(xùn)練參數(shù)對(duì)所述目標(biāo)函數(shù)進(jìn)行修正。較佳地,所述NPC的行為包括多個(gè)NPC對(duì)多個(gè)玩家的攻擊配對(duì)。由上述技術(shù)方案可見(jiàn),本發(fā)明的這種NPC的行為決策方法,將NPC的行為決策問(wèn)題,轉(zhuǎn)化為對(duì)目標(biāo)函數(shù)和約束條件進(jìn)行最優(yōu)化求解的問(wèn)題,通過(guò)模擬退火算法對(duì)目標(biāo)函數(shù)的最優(yōu)化求解,所得到的決策方案,相比簡(jiǎn)單的數(shù)值判斷決策方式,可以得到更加智能的決策方案。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明主要是預(yù)先根據(jù)NPC行為的最終目的確定NPC行為決策的目標(biāo)函數(shù)和約束條件,在進(jìn)行NPC的行為決策時(shí),根據(jù)所述目標(biāo)函數(shù)和約束條件,通過(guò)模擬退火算法進(jìn)行最優(yōu)化求解,并根據(jù)求得的解確定NPC的行為。例如在游戲中,若干個(gè)玩家進(jìn)入某副本,與其中的若干個(gè)NPC對(duì)戰(zhàn),此時(shí)所有的 NPC都需要與若干個(gè)玩家進(jìn)行戰(zhàn)斗行為的決策,例如哪個(gè)NPC攻擊哪個(gè)玩家等等,戰(zhàn)斗行為的最終目的是對(duì)玩家造成最大的傷害,從而擊敗玩家;那么NPC如何才能對(duì)玩家造成最大的傷害就是NPC行為的最終目的,NPC具體采用什么攻擊配對(duì)方式(哪個(gè)NPC攻擊哪個(gè)玩家)才會(huì)對(duì)玩家造成最大的傷害就是要解決的最優(yōu)化問(wèn)題。對(duì)于這個(gè)問(wèn)題,現(xiàn)有的方法一般是簡(jiǎn)單地根據(jù)玩家的血量、攻擊力、防御力等參數(shù)進(jìn)行簡(jiǎn)單判斷來(lái)決策,比如多個(gè)玩家中,優(yōu)先以當(dāng)前血量數(shù)值最低作為選擇攻擊的目標(biāo)。而在本發(fā)明中,則要確定傷害最大化問(wèn)題的目標(biāo)函數(shù)時(shí),可以對(duì)NPC及玩家對(duì)戰(zhàn)的態(tài)勢(shì)進(jìn)行分析,將協(xié)同多目標(biāo)攻擊的決策問(wèn)題轉(zhuǎn)化為NPC對(duì)玩家攻擊配對(duì)方式的最優(yōu)化問(wèn)題,通過(guò)建立攻擊效能評(píng)估模型來(lái)確定目標(biāo)函數(shù)和約束條件。再通過(guò)模擬退火算法對(duì)確定的目標(biāo)函數(shù)進(jìn)行最優(yōu)化,尋找最優(yōu)解;通過(guò)求得最優(yōu)解確定多個(gè)NPC與多個(gè)玩家之間如何分配攻擊目標(biāo),從而得到NPC攻擊配對(duì)方式的決策方案。另外,在確定目標(biāo)函數(shù)時(shí),還可以引入自反饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練參數(shù),自反饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練參數(shù)是一種根據(jù)NPC歷史數(shù)據(jù)為基礎(chǔ)得到的可變參數(shù),該參數(shù)會(huì)根據(jù)NPC歷史數(shù)據(jù)的變化而變化。在每次決策完畢,即通過(guò)目標(biāo)函數(shù)求得最優(yōu)解之后,可以根據(jù)實(shí)施決策得到的戰(zhàn)斗結(jié)果計(jì)算新的訓(xùn)練參數(shù),根據(jù)新的訓(xùn)練參數(shù)對(duì)原目標(biāo)函數(shù)進(jìn)行修正,得到修正后的目標(biāo)函數(shù);這樣就可以使NPC通過(guò)以往行為的結(jié)果所積累下的經(jīng)驗(yàn),不斷強(qiáng)化自身優(yōu)勢(shì),使得不同NPC可以根據(jù)不同的行為經(jīng)歷擁有不同的行為特點(diǎn),如同人的不同性格,使得NPC的行為更加智能。對(duì)于上述攻擊配對(duì)決策的具體決策實(shí)現(xiàn)方式如下一、確定目標(biāo)函數(shù)1、行為目的分析假設(shè)副本中各種不同類型NPC數(shù)量和為N個(gè);玩家數(shù)量為M個(gè)。N、M均為正整數(shù)。 現(xiàn)在需要進(jìn)行攻擊配對(duì)的決策,即哪個(gè)NPC攻擊哪個(gè)玩家,NPC行為的為使所有NPC對(duì)于所有玩家的攻擊效果最大化;其中,NPC標(biāo)記為 NPC = (NPCi, i = 1,2. · · N};玩家標(biāo)記為PLAYER = (PLAYERj, j = 1,2. · · Μ}在對(duì)戰(zhàn)中,可以把NPC的攻擊效果定義為以下模型
權(quán)利要求
1.一種非玩家控制角色NPC的行為決策方法,其特征在于,該方法包括 預(yù)先根據(jù)NPC行為的目的確定NPC行為決策的目標(biāo)函數(shù)和約束條件;在進(jìn)行NPC的行為決策時(shí),根據(jù)所述目標(biāo)函數(shù)和約束條件,通過(guò)模擬退火算法對(duì)所述目標(biāo)函數(shù)進(jìn)行最優(yōu)化求解;根據(jù)所述求解過(guò)程得到的最優(yōu)解確定NPC的行為。
2.如權(quán)利要求1所述的NPC的行為決策方法,其特征在于,所述對(duì)目標(biāo)函數(shù)進(jìn)行最優(yōu)化求解時(shí),進(jìn)一步結(jié)合遺傳算法。
3.如權(quán)利要求1所述的NPC的行為決策方法,其特征在于,該方法進(jìn)一步包括 所述確定NPC的行為之后,進(jìn)一步根據(jù)所述行為的結(jié)果計(jì)算訓(xùn)練參數(shù);根據(jù)所述訓(xùn)練參數(shù)對(duì)所述目標(biāo)函數(shù)進(jìn)行修正。
4.如權(quán)利要求1所述的NPC的行為決策方法,其特征在于,所述NPC的行為包括多個(gè) NPC對(duì)多個(gè)玩家的攻擊配對(duì)。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種非玩家控制角色NPC的行為決策方法,該方法包括預(yù)先根據(jù)NPC行為的目的確定NPC行為決策的目標(biāo)函數(shù)和約束條件;在進(jìn)行NPC的行為決策時(shí),根據(jù)所述目標(biāo)函數(shù)和約束條件,通過(guò)模擬退火算法對(duì)所述目標(biāo)函數(shù)進(jìn)行最優(yōu)化求解;根據(jù)所述求解過(guò)程得到的最優(yōu)解確定NPC的行為。該方法能夠使NPC的互動(dòng)行為更加智能。
文檔編號(hào)G06F19/00GK102298673SQ20111028102
公開(kāi)日2011年12月28日 申請(qǐng)日期2011年9月20日 優(yōu)先權(quán)日2011年9月20日
發(fā)明者藺甜甜 申請(qǐng)人:北京像素軟件科技股份有限公司