本發(fā)明涉及游戲技術(shù)領(lǐng)域,具體地,涉及模擬多個(gè)運(yùn)動(dòng)體行為的方法和系統(tǒng)。
背景技術(shù):
現(xiàn)在游戲中對(duì)多個(gè)運(yùn)動(dòng)體的行為模擬程度不高,例如足球競(jìng)技比賽中,對(duì)22個(gè)球員行為的模擬通常采用一個(gè)主控器控制22個(gè)球員的行為,當(dāng)主控器出現(xiàn)問(wèn)題是,則22個(gè)球員均受到影響。
比如在足球比賽中,每個(gè)球員都擁有N個(gè)狀態(tài),每個(gè)狀態(tài)里面需要對(duì)當(dāng)前的M個(gè)行為條件進(jìn)行判斷,最多會(huì)導(dǎo)致(N-1)×M個(gè)重復(fù)判斷,效率低,且維護(hù)成本高。
行為樹(shù)技術(shù)出現(xiàn)已經(jīng)很久,可以有效的實(shí)現(xiàn)人工智能的需求,但是仍然沒(méi)有應(yīng)用在模擬體育模擬球員領(lǐng)域,也沒(méi)有針對(duì)體育類(lèi)球員模擬作相應(yīng)的優(yōu)化。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種模擬多個(gè)運(yùn)動(dòng)體行為的方法和系統(tǒng)。
根據(jù)本發(fā)明提供的模擬多個(gè)運(yùn)動(dòng)體行為的方法,包括如下步驟:
步驟1:根據(jù)多個(gè)運(yùn)動(dòng)體的運(yùn)行情況建立相應(yīng)的行為樹(shù)節(jié)點(diǎn),其中每個(gè)運(yùn)動(dòng)狀態(tài)對(duì)應(yīng)一個(gè)行為樹(shù)節(jié)點(diǎn);
步驟2:根據(jù)所有運(yùn)動(dòng)體的行為樹(shù)節(jié)點(diǎn)建立配置表,其中配置表需要按照給定的規(guī)則建立;
步驟3:根據(jù)行為樹(shù)配置表自動(dòng)生成能夠運(yùn)行的行為樹(shù)代碼;
步驟4:通過(guò)控制系統(tǒng)執(zhí)行行為樹(shù)代碼,所述控制系統(tǒng)包括能夠運(yùn)行行為樹(shù)代碼的軟件系統(tǒng);
步驟5:控制系統(tǒng)讀取外部的數(shù)據(jù)和狀態(tài),控制運(yùn)動(dòng)體的運(yùn)動(dòng)以及輸出的數(shù)據(jù)和輸出的狀態(tài);其中,外部是指任何能夠提供數(shù)據(jù)和狀態(tài)的軟件系統(tǒng),所述能夠提供數(shù)據(jù)和狀態(tài)的軟件系統(tǒng)包括服務(wù)器;其中,外部的數(shù)據(jù)和狀態(tài)是指運(yùn)動(dòng)體的數(shù)據(jù)和狀態(tài)。
優(yōu)選地,所述步驟1中的行為樹(shù)節(jié)點(diǎn)包括:輸出源、控制器以及若干個(gè)輸入源,輸入源用來(lái)讀取外部的數(shù)據(jù),控制器根據(jù)外面的數(shù)據(jù)進(jìn)行邏輯計(jì)算,計(jì)算的結(jié)果通過(guò)輸出源到外部,每個(gè)行為樹(shù)節(jié)點(diǎn)能夠保存自己的計(jì)算狀態(tài)和數(shù)據(jù)。
根據(jù)本發(fā)明提供的模擬多個(gè)運(yùn)動(dòng)體行為的系統(tǒng),包括:
行為樹(shù)節(jié)點(diǎn)建立模塊:根據(jù)多個(gè)運(yùn)動(dòng)體的運(yùn)行情況建立相應(yīng)的行為樹(shù)節(jié)點(diǎn),其中每個(gè)行為樹(shù)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)運(yùn)動(dòng)狀態(tài)以及運(yùn)行該狀態(tài)需要滿(mǎn)足的數(shù)據(jù)條件;
配置表建立模塊:用于根據(jù)所有運(yùn)動(dòng)體的行為樹(shù)節(jié)點(diǎn)建立配置表,并根據(jù)需要模擬的行為和規(guī)則生成總的行為樹(shù)配置表;
行為樹(shù)裝置裝載模塊:用于根據(jù)總的行為樹(shù)配置表生成行為樹(shù)裝置以及該裝置能夠運(yùn)行的行為樹(shù)代碼;
模擬模塊:用于將行為樹(shù)代碼加載到對(duì)應(yīng)的行為樹(shù)裝置中,由獨(dú)立的控制器控制每個(gè)行為樹(shù)裝置模擬運(yùn)動(dòng)體的行為。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
1、本發(fā)明提供的模擬多個(gè)運(yùn)動(dòng)體行為的方法中采用行為樹(shù)來(lái)保存和統(tǒng)計(jì)每個(gè)運(yùn)動(dòng)體的數(shù)據(jù),避免重復(fù)計(jì)算,提高了數(shù)據(jù)處理效率。
2、本發(fā)明提供的模擬多個(gè)運(yùn)動(dòng)體行為的方法中對(duì)每個(gè)運(yùn)動(dòng)體都設(shè)置有獨(dú)立的行為控制系統(tǒng),從而增加了每個(gè)運(yùn)動(dòng)體的穩(wěn)定性。
3、本發(fā)明提供的模擬多個(gè)運(yùn)動(dòng)體行為的方法能夠根據(jù)配置生成行為邏輯,減少了大量的代碼編寫(xiě)和維護(hù)。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1為實(shí)施例中行為樹(shù)配置表示意圖;
圖2為實(shí)施例的系統(tǒng)運(yùn)行界面示意圖;
圖3為本發(fā)明中的方法的流程示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。以下實(shí)施例將有助于本領(lǐng)域的技術(shù)人員進(jìn)一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對(duì)本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變化和改進(jìn)。這些都屬于本發(fā)明的保護(hù)范圍。
根據(jù)本發(fā)明提供的模擬多個(gè)運(yùn)動(dòng)體行為的方法,包括如下步驟:
步驟1:根據(jù)多個(gè)運(yùn)動(dòng)體的運(yùn)行情況建模,即建立一套行為樹(shù)節(jié)點(diǎn),其中行為樹(shù)節(jié)點(diǎn)包括:若干個(gè)輸入源、輸出源以及控制器,輸入源用來(lái)讀取外部的數(shù)據(jù),控制器根據(jù)外面的數(shù)據(jù)進(jìn)行邏輯計(jì)算,計(jì)算的結(jié)果通過(guò)輸出源到外部,每個(gè)行為樹(shù)節(jié)點(diǎn)可以保存自己計(jì)算狀態(tài)和數(shù)據(jù)。
步驟2:建立配置表,所述配置表由各種不同的行為樹(shù)節(jié)點(diǎn)組成,根據(jù)需要模擬的行為和規(guī)則,配置成總的行為樹(shù)配置表。
步驟3:根據(jù)總的行為樹(shù)配置表生成行為樹(shù)裝置以及該裝置能夠運(yùn)行的行為樹(shù)代碼。
步驟4:將行為樹(shù)代碼組裝到每個(gè)行為樹(shù)裝置中,完成對(duì)運(yùn)動(dòng)體行為的模擬;其中每個(gè)運(yùn)動(dòng)體都具有一套獨(dú)立的行為控制系統(tǒng),因此,當(dāng)任意運(yùn)動(dòng)體的控制系統(tǒng)出現(xiàn)問(wèn)題時(shí),不會(huì)影響其他運(yùn)動(dòng)體的正常運(yùn)動(dòng)。
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明中的技術(shù)方案做更加詳細(xì)的說(shuō)明。
如圖1、圖2所示,模擬足球運(yùn)動(dòng)員在比賽中的行為情況。圖1中的行為樹(shù)配置表為一種文本文件,本發(fā)明中的系統(tǒng)對(duì)應(yīng)在一個(gè)行為樹(shù)生成一個(gè)裝置表,根據(jù)配置表生成可以運(yùn)行的控制系統(tǒng)。其中球員數(shù)據(jù)是輸入源的一種,控制系統(tǒng)會(huì)根據(jù)輸入源的數(shù)據(jù)和行為樹(shù)邏輯進(jìn)行計(jì)算。其中控制系統(tǒng)在運(yùn)算過(guò)程和結(jié)束的時(shí)候可以改變輸入源。其中控制系統(tǒng)計(jì)算的結(jié)果作為輸出源決定球員的行為。
以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變化或修改,這并不影響本發(fā)明的實(shí)質(zhì)內(nèi)容。在不沖突的情況下,本申請(qǐng)的實(shí)施例和實(shí)施例中的特征可以任意相互組合。