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

?

基于銀河編輯器的即時戰(zhàn)略游戲設(shè)計

2022-07-15 09:54佟子豪喬秀明馬新宇
智能計算機(jī)與應(yīng)用 2022年7期
關(guān)鍵詞:觸發(fā)器船只實(shí)體

佟子豪,喬秀明,馬新宇

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

0 引 言

游戲作為大眾生活中必不可少的娛樂方式之一,為滿足使用者的各方面需求,其游戲類型和方式一直在不斷地變化發(fā)展。目前,通常將其分為動作游戲、射擊游戲、策略游戲、探索游戲等。其中,即時戰(zhàn)略游戲以博弈性強(qiáng),節(jié)奏快等特色深受玩家喜愛。

即時戰(zhàn)略游戲(Real-Time Strategy Game),簡稱RTS,是策略游戲(Strategy Game)的一種。游戲是即時進(jìn)行的,而不是策略游戲多見的回合制。近年來,作為人工智能的研究對象的即時戰(zhàn)略游戲有很多,星際爭霸2(StarCraftII)就是其中之一。銀河編輯器是一款功能強(qiáng)大的游戲制作工具,利用該工具可以進(jìn)行幾乎所有類型的游戲場景設(shè)計。本文基于銀河編輯器,在Microsoft Windows10 64位操作系統(tǒng)下進(jìn)行即時戰(zhàn)略游戲的設(shè)計和開發(fā)。游戲旨在模擬對戰(zhàn)規(guī)則,制作一款兼具真實(shí)性和趣味性的戰(zhàn)略游戲。具體設(shè)計過程有游戲地圖設(shè)計、游戲規(guī)則設(shè)計、模型設(shè)計、實(shí)體屬性設(shè)計等。

1 設(shè)計思路

本文開發(fā)的即時戰(zhàn)略游戲可表述為:在一片海域中,兩支海盜船隊互相遭遇,并進(jìn)行戰(zhàn)斗。戰(zhàn)斗的雙方擁有不同的船只配置,以及各不相同的勝利條件。游戲中,玩家可操控一方勢力,通過觀察敵方船隊?wèi)B(tài)勢來制定戰(zhàn)斗計劃,操控己方船只,力求達(dá)成勝利條件。同時,如果己方船隊全滅或己方關(guān)鍵目標(biāo)被摧毀,則游戲失敗。本游戲?yàn)槟M船隊的戰(zhàn)斗場景,研究設(shè)計多種各具特色的船只及武器來增強(qiáng)策略性和對抗性,其模型、行為和特效動畫進(jìn)行設(shè)計,以求模擬戰(zhàn)斗的真實(shí)感。

2 游戲?qū)崿F(xiàn)

本游戲作為即時戰(zhàn)略游戲,沒有其他類型游戲的漸進(jìn)流程,游戲的正常運(yùn)行即為兩方勢力的對抗場景,在游戲規(guī)則下正常開始和結(jié)束。這需要實(shí)體對象,地圖,游戲規(guī)則等的緊密配合。

2.1 游戲地圖設(shè)計

地圖設(shè)計包括地圖的長度、寬度、像素值的設(shè)定,還包括地形、障礙物的設(shè)計。地形包括水體、礁石、陸地、丘陵等等。地圖上的每一個點(diǎn)都有對應(yīng)的高度以及紋理屬性。

本游戲的地圖設(shè)計基于水戰(zhàn),故地圖中大部分地形皆為水面,配合船只無法通行的島嶼、礁石等。地圖尺寸為256*256,地形比例大致基于現(xiàn)實(shí)進(jìn)行設(shè)計,以配合單位航速、武器射程等實(shí)體屬性,確保游戲的真實(shí)性。

2.2 游戲規(guī)則設(shè)計

游戲規(guī)則的設(shè)計是高度自由的,由銀河編輯器的“觸發(fā)器”系統(tǒng)幫助實(shí)現(xiàn)。觸發(fā)器由3部分組成:事件、條件與動作。運(yùn)作流程如圖1所示。

圖1 觸發(fā)器流程Fig.1 Trigger process

其中“事件”指游戲中正在進(jìn)行的或已發(fā)生的事件,作為觸發(fā)器的開啟判定條件。事件包括實(shí)體單位的一系列動作,如單位受到攻擊、單位進(jìn)入指定區(qū)域等。一些玩家的操作,例如點(diǎn)擊某按鈕、移動鏡頭等也可以作為事件。

“條件”是觸發(fā)器內(nèi)部的進(jìn)一步的判定條件,當(dāng)事件發(fā)生時,觸發(fā)器開啟,下一步則進(jìn)行條件的判定。一個觸發(fā)器可以不設(shè)置條件,也可以設(shè)置多個條件,但必須要有“事件”。在游戲進(jìn)行過程中。當(dāng)觸發(fā)器設(shè)定的事件發(fā)生時,若當(dāng)前所有條件為真,則執(zhí)行設(shè)置好的動作。在觸發(fā)器中,還可設(shè)置局部變量,幫助進(jìn)行條件的編寫。

當(dāng)事件發(fā)生且條件為真,則執(zhí)行設(shè)置好的動作。動作大致分為實(shí)體層面和游戲?qū)用?,?shí)體層面的動作包括但不限于殺死或創(chuàng)建某單位,禁用單位技能等。游戲?qū)用娴膭幼鲃t包含使某一方勝利、結(jié)束游戲等。圖2展示了本游戲中當(dāng)一方所有單位被消滅,則判定另一方游戲勝利的觸發(fā)器。

圖2 觸發(fā)器設(shè)置Fig.2 Trigger settings

利用觸發(fā)器,還可以設(shè)計出許多提高游戲真實(shí)性的規(guī)則。例如本游戲中飛彈命中概率的規(guī)則,即為設(shè)置某一單位被飛彈命中為事件,設(shè)置局部變量隨機(jī)數(shù)作為條件,當(dāng)隨機(jī)數(shù)在某一范圍時,執(zhí)行免去單位受到的傷害的動作。

2.3 實(shí)體設(shè)計

本游戲設(shè)計了多種船只及武器,以實(shí)現(xiàn)角色間協(xié)同配合的戰(zhàn)斗場景。船只的設(shè)計可分為屬性、武器、模型等方面的設(shè)計。

此外,每種船只都設(shè)計有移動、發(fā)射武器、被摧毀的動畫,與實(shí)體模型一同裝載到單位上,組成單位的模型部分。

每種船只可編輯不同的武器,擁有不同的作戰(zhàn)方式,具有自己的特性和屬性值。比如載有火炮的海盜船,具有生命值、速度、加速度、視野范圍等許多復(fù)雜的屬性,船只模型的一切數(shù)據(jù)均以XML代碼的形式存儲,以下對海盜船模型的部分代碼進(jìn)行展示。

每種武器也具有獨(dú)立的屬性,比如火炮這一武器,具有飛行速度、射程范圍等屬性?;鹋诘牟糠执a如下。

武器本身也是單位的一種屬性,通過XML代碼將武器鏈接到單位,即可實(shí)現(xiàn)武器對船只的裝配。

此外,本游戲中海盜旗艦搭載的武器為“發(fā)射飛彈”,其代碼實(shí)現(xiàn)如下。火時作為發(fā)射物發(fā)射出的單位

旗艦在武器開火時創(chuàng)建飛彈單位,飛彈同樣是實(shí)體單位,具有自己的屬性值。

2.4 游戲場景設(shè)計

本游戲?yàn)槟M真實(shí)的海盜遭遇戰(zhàn),在游戲初始化并開始運(yùn)行時,會先加載地圖,并從實(shí)體列表讀取已經(jīng)設(shè)置好的實(shí)體單位部署在對應(yīng)的坐標(biāo)點(diǎn)。且本游戲假設(shè)戰(zhàn)斗雙方都能通過雷達(dá)手段獲知敵方目標(biāo)位置。圖3展示了為本游戲預(yù)設(shè)的實(shí)體列表。

圖3 實(shí)體列表Fig.3 Entity list

游戲開始后,將“玩家1”陣營的單位控制權(quán)分配給玩家,由玩家進(jìn)行操控,動作指令使用鼠標(biāo)和鍵盤進(jìn)行輸入。玩家可以控制己方的船只進(jìn)行移動、攻擊等動作,來完成制定的勝利目標(biāo)。

3 游戲運(yùn)行

游戲的地圖、實(shí)體、規(guī)則等信息以SC2Map格式封裝在一個地圖文件中,并通過銀河編輯器進(jìn)行導(dǎo)入。游戲的按鍵、音量都可以通過內(nèi)部的菜單來設(shè)置。當(dāng)既定的勝利條件觸發(fā)器被觸發(fā),則彈出游戲勝利畫面,并結(jié)束游戲。

游戲的運(yùn)行除玩家手動操作之外,也可由銀河編輯器內(nèi)置的代理庫實(shí)現(xiàn)。將編寫好的實(shí)體動作信息和地圖文件輸入代理庫并運(yùn)行,游戲中的實(shí)體單位會在每一個時間步(step)執(zhí)行編寫好的動作,來實(shí)現(xiàn)游戲的正常運(yùn)行。下面是執(zhí)行文件信息的核心代碼:

圖4展示了存儲實(shí)體動作信息的文件內(nèi)容,對于每一個時間步,都存儲了所有實(shí)體的編號、信息和執(zhí)行的動作。

圖4 實(shí)體動作信息Fig.4 Entity action information

此外,本文進(jìn)行了實(shí)時輸出游戲信息的研究,能夠在游戲運(yùn)行中實(shí)時地輸出每一時間步地圖中的實(shí)體信息,如圖5所示。

圖5 輸出信息Fig.5 Output information

實(shí)體信息的代理運(yùn)行與游戲信息的輸出可供智能模型利用,為游戲AI的研究提供一定的幫助。

4 結(jié)束語

即時戰(zhàn)略類游戲歷來廣受玩家喜愛,本文開發(fā)的海盜對戰(zhàn)游戲在即時戰(zhàn)略類游戲的基礎(chǔ)上,具有真實(shí)性好,可拓展性高的特色,經(jīng)過測試,該游戲運(yùn)行流暢,體驗(yàn)良好,未來也有不錯的提升空間。

猜你喜歡
觸發(fā)器船只實(shí)體
基于ColBert-EL 和MRC 模型的零樣本實(shí)體鏈接
配置觸發(fā)器有條件啟動Windows服務(wù)
實(shí)體錢
基于Multisim14.0的雙D觸發(fā)器應(yīng)用與仿真
觸發(fā)器在酒店管理系統(tǒng)中的應(yīng)用
2017實(shí)體經(jīng)濟(jì)領(lǐng)軍者
孟加拉船只“罷工”
基于電路原理的觸發(fā)器波形分析
峨眉山市| 三门县| 大洼县| 安远县| 当雄县| 沐川县| 盖州市| 贺兰县| 韶关市| 玉树县| 垣曲县| 大足县| 石嘴山市| 佳木斯市| 清流县| 易门县| 磐石市| 舟山市| 珲春市| 南通市| 大洼县| 兴和县| 长治县| 米林县| 吴忠市| 阿瓦提县| 桐梓县| 通许县| 广饶县| 龙江县| 涿鹿县| 仁化县| 玉田县| 渝北区| 张北县| 东山县| 兰坪| 呼伦贝尔市| 蒲江县| 子长县| 尖扎县|