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

?

SLG類游戲的研究與設(shè)計

2021-08-03 05:24:58魏菊霞黃濤
電腦知識與技術(shù) 2021年17期
關(guān)鍵詞:游戲策略

魏菊霞 黃濤

摘要:SLG類游戲(SLG:策略游戲)一直不是一個特別火爆的類型,但這種游戲類型總是精品不斷,而且時不時地就會出現(xiàn)。該文結(jié)合“捍衛(wèi)海洋”元素,運用Unity3D游戲引擎,設(shè)計了一款寓教于樂的策略類游戲。該文重點介紹了人機(jī)交互模塊、敵人智能AI和游戲場景模型的創(chuàng)建等,旨在拋磚引玉,為策略類游戲的設(shè)計提出一種新的解決方案。

關(guān)鍵詞:SLG;策略;Unity3D;游戲;AI

中圖分類號:TP37? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2021)17-0079-03

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

1 研究背景與意義

隨著世界電子游戲市場需求的極速提升,現(xiàn)有不勝枚舉的電子游戲開發(fā)引擎騰空出世,由舊時年代的Wolfenstein3D、Doom到現(xiàn)時的Unity3D、Unreal,電子游戲開發(fā)引擎的急速迭代使游戲開發(fā)者及研究人員的開發(fā)設(shè)計便利性與專業(yè)性也在逐步增加。相較于過去還需OpenGL、Flash及Photoshop等多方位制作軟件相結(jié)合的復(fù)雜開發(fā)方式來說,如今的商業(yè)化引擎如Unity3D將原本多方位的組件功能相結(jié)合,讓電子游戲開發(fā)者得以專注于所開發(fā)的游戲自身[1]。并且在Unity3D游戲開發(fā)引擎中獨有的Asset Store——開發(fā)者商城擁有大量的游戲制作輔助插件,這讓原本復(fù)雜煩瑣的電子游戲開發(fā)制作變得簡單快捷并且更具有專業(yè)性。

國內(nèi)外的電子游戲開發(fā)領(lǐng)域?qū)Σ呗灶愑螒蛳嚓P(guān)的研究基本可分為如下三個大方向:第一人稱3D能力型、上帝視角2.5D以及2D普通型。第一人稱3D是現(xiàn)代電子游戲的主流形式,以超強(qiáng)的代入感吸引游戲玩家,擁有較高的戰(zhàn)斗美學(xué),但盡管代入感十足,三維眩暈及方向無法準(zhǔn)確判定的劣勢也因此無從解決。而上帝視角2.5D以及2D普通型游戲都太過于中庸,雖不會讓游戲玩家產(chǎn)生三維眩暈的壞象,但缺乏真實代入感、爽快感,使它們得不到大多數(shù)游戲愛好者的青睞[2]。本文結(jié)合當(dāng)今所有大方向趨勢,取其精華去其糟粕,力求建立一個新型的游戲模式。

2 SLG類游戲的需求分析和總體結(jié)構(gòu)設(shè)計

2.1 需求分析

SLG類游戲的(Simulation Game:簡稱SLG,策略類游戲)核心是策略,這項功能需要玩家運用一定的策略與電腦或其他玩家進(jìn)行較量或共同合作以達(dá)到某一目標(biāo),大大地增添了游戲的可玩性,其形式越多樣,游戲的可玩性也就越高,玩家的游戲體驗感也就相應(yīng)會得到提升,這便是需要在游戲中玩家的能力以及游戲通關(guān)的方式需要盡量做到多樣化,且敵人的智能AI模式也需要做到搜尋準(zhǔn)確又難度適中,這樣才能達(dá)到游戲所預(yù)期的效果。

在游戲中,如果長時間游玩,則會增加玩家對游戲形式產(chǎn)生厭惡感,可適當(dāng)性地加入一些解密交互元素,提升游戲的多樣性、可玩性。同時,解密交互與游戲策略相輔相成的路線也會讓廣大玩家在解決了一項事件之后,得到一定的自豪感及愉悅感。

本文探討研發(fā)的游戲包含如下特點。

1)人機(jī)交互:玩家可通過鼠標(biāo)、鍵盤等外部輸入設(shè)備對游戲內(nèi)的UI、主角及事件等發(fā)生交互,創(chuàng)造本游戲的可玩性,并且需要其交互方式簡單方便,交互反饋突出明顯,提高玩家對游戲的游玩樂趣。

2)能力多樣化:由玩家所控制的主角所持有的能力必須多樣,以此達(dá)到玩家通關(guān)游戲的方式也同時多樣化的目的,這能夠提升玩家對游戲的體驗效果。

3)場景標(biāo)志化:場景必須做到真實、絢麗,場景內(nèi)的動植物必須做到富有動感,活潑可愛。以此提高玩家的游戲體驗感。

4)玩法多元化:在游戲過程中適當(dāng)加入解密交互的元素,提升游戲的多樣性及可玩性。

2.2 總體結(jié)構(gòu)設(shè)計

考慮到各式玩家與各類游戲接觸的時間不盡相同,為了使玩家們都能夠?qū)Ρ疚挠螒蚩焖偕鲜?,游戲的大體結(jié)構(gòu)不能太過于復(fù)雜。結(jié)合Unity3D游戲開發(fā)引擎,各個模塊的實現(xiàn)方法分析如下。

1)人機(jī)交互模塊:開始界面、設(shè)置界面以及能力選擇界面這三大界面式開發(fā)將使用Unity3D游戲開發(fā)引擎中自帶的UGUI設(shè)計模塊與C#腳本編輯模塊聯(lián)合進(jìn)行研發(fā)。使用C#腳本編輯模塊監(jiān)聽玩家的鍵盤輸入事件,并且使用對應(yīng)的UI變化來告知、提醒玩家自己所輸入的鍵盤事件將對游戲產(chǎn)生怎樣的變化,以此來選擇對應(yīng)游戲界面。而在游戲交互與交互反饋方面,將使用C#腳本編輯模塊監(jiān)聽玩家的鍵盤、鼠標(biāo)等外置輸入設(shè)備的輸入,然后在游戲畫面中給予相對應(yīng)的Aminator動畫反饋、Transform變化反饋及isActive、isEnabled的更替反饋等。

2)游戲場景模塊:在場景搭建過程中,運用Unity3D電子游戲開發(fā)引擎Plane平面組件加上特殊的Shader著色器以及對應(yīng)的材質(zhì)球,使創(chuàng)建的Plane平面組件產(chǎn)生波躁、滾動等海面獨有效果以制成。而在海洋內(nèi)部場景中,將為作品Camera編寫、添加一個獨特的海底Shader著色器,增加海底霧、動態(tài)模糊、水波躁動等一系列Camera視覺效果,使其變得真實而又不失相應(yīng)的美感。

3)敵人AI模塊:關(guān)于對敵人智能巡邏模塊的制作,將使用Tag標(biāo)記檢測觸發(fā)的做法來監(jiān)測事件是否發(fā)生,在事件發(fā)生后將改變敵人AI的轉(zhuǎn)向及其移動速度,以此來完成智能巡邏的效果。而在自動搜索模塊方面,將使用錐型射線來效仿敵人的眼球視角,當(dāng)射線直接觸碰到玩家所操縱的主角時,將根據(jù)雙方之間的距離來計算判定敵人發(fā)現(xiàn)主角的概率,當(dāng)概率為100%時視為發(fā)現(xiàn),敵人將會進(jìn)行瞄準(zhǔn)攻擊。而瞄準(zhǔn)攻擊這一塊將先采用LookAt()函數(shù)方法進(jìn)行瞄準(zhǔn),后使用Instantiate()方法來生成武器進(jìn)行攻擊。最后在銷毀方面則是先將其用于顯示敵人形狀樣貌的MeshRenderer組件取消使用,再使用Instantiate()方法生成爆炸效果,最后使用Destroy()方法來將其銷毀。

3 游戲設(shè)計與實現(xiàn)

3.1 人機(jī)交互

本游戲交互形式與一般SLG游戲的交互形式大同小異,以鍵盤、鼠標(biāo)為輸入裝置來對游戲事件進(jìn)行觸發(fā)及改變[3]。而與一般SLG游戲有差異的一點,便是本游戲的游戲場景大多處于海底,與陸地相比較,主角在海洋之中的移動自由度會相應(yīng)高出許多,所以傳統(tǒng)電子游戲WSAD控制前后左右的移動方式必然將不適合本游戲。為了解決此項問題,本文研討出一種專門用于海底策略游戲的操縱方式來適配本游戲。以下為本游戲的按鍵方式。

主角交互的具體實現(xiàn)如下:

1)主角的旋轉(zhuǎn):首先,考慮到邏輯性的緣故,我們需要設(shè)置兩個布爾值判斷主角的狀態(tài),第一個布爾值為isMove,用于判斷主角是否正在移動;第二個布爾值為CanMove,用于判斷主角是否能夠移動。使用if語句進(jìn)行判斷,當(dāng)isMove字段與CanMove字段都為true時,主角即可旋轉(zhuǎn)。使用if語句以及Input.GetKey()函數(shù)方法檢測玩家是否按下了鍵盤上所對應(yīng)的按鍵,當(dāng)確定玩家在滿足了所有條件的狀態(tài)下按下了旋轉(zhuǎn)的按鍵時,將調(diào)用transform.Rotate()函數(shù)方法對主角進(jìn)行相應(yīng)軸方向的旋轉(zhuǎn),以此來達(dá)到旋轉(zhuǎn)的目的。

2)主角的移動:主角的移動也需要一個布爾值CanMove來判斷其是否能夠移動,并且還需定義一個名為Speed的浮點型字段并將其初始值設(shè)置為0f,用于控制主角移動的速度。在Update中使用if語句加CanMove字段判斷主角是否可以移動,當(dāng)CanMove字段為true時,調(diào)用transform.Translate()結(jié)合時間差值與速度的乘積——Time.deltaTime * Speed來達(dá)成主角移動的效果,由此可得,主角移動的速度將由Speed的大小控制,這時我們便可以結(jié)合if語句來改變Speed的大小實現(xiàn)慣性、緩動以及摩擦力的效果。用這種方法實現(xiàn)的主角移動既有較高的可控性,不受外力的影響,又能實現(xiàn)慣性、緩動以及摩擦力,為主角的移動增添了較為真實的物理效果。

3)主角能力使用、選擇:在此之前,需先建立一個布爾值isGot來判斷主角是否已經(jīng)獲得了該能力,再使用if語句配合isGot以及Input.GetMouseButton(2)來判斷主角是否打開了能力選擇界面,如果符合事件觸發(fā)條件,則使用SetActive()函數(shù)方法打開能力選擇的GUI,再通過修改Time.timeScale的參數(shù)值來對本游戲的FixedUpdate的運行時間做修改,以此達(dá)到暫停游戲的操作,并且由于字段Time.timeScale只是對FixedUpdate的運行時間做出修改,而不對Update進(jìn)行任何操作,固然Update中不受Time.deltaTime控制的方法也同樣不受影響,所以方案依舊可行,若GUI動畫也希望不受其影響的話,只需將其Animator的UpdateMode屬性設(shè)置為UnscaledTime即可。

交互的偽代碼如下:

3.2 游戲場景

根據(jù)需求分析,本文場景中的建模模型類型將以Low Poly低面建模風(fēng)格為主基調(diào)進(jìn)行制作。但由于國內(nèi)Low Poly風(fēng)格試建模尚未普及,這導(dǎo)致其素材非常難以在網(wǎng)絡(luò)中尋找到,必要時需要自行制作,Low Poly風(fēng)格模型的制作方案有許多,這里選擇了一種簡單方便的做法——減面法。

減面法:先將一個普通模型轉(zhuǎn)換為可編輯多邊形,將其平滑屬性去除后即可使用減面變形器對其進(jìn)行減面操作,最終變成Low Poly低面模型。

使用Low Poly低面建模風(fēng)格能夠及其有效地減少模型與材質(zhì)球?qū)τ螒蛐阅艿挠绊?,同時也能保證畫面的美觀性,一舉兩得[4]。

動植物動態(tài)效果將舍棄平常的骨骼動畫制作方式,選用另外一種全新的方式——著色器靜態(tài)網(wǎng)格位置修正來進(jìn)行研發(fā)。要完成魚兒游動的循環(huán)動畫,就需要用到魚類的材質(zhì)中的頂點動畫來制成,使用頂點動畫能夠讓魚兒做出左右搖擺、偏航旋轉(zhuǎn)以及沿著脊椎水平旋轉(zhuǎn)等效果,將這些頂點動畫效果進(jìn)行合成,既能得到一只不需要用到骨骼動畫就能夠靈活游動的小魚了。場景效果如圖1。

3.3 敵人AI

本文的游戲類型為“策略”,所以固然有巡邏的對象存在于游戲場景中,而這些對象在游戲中則被稱之為敵人,面對這種非人為操作、控制但帶有一定智能性的物體,必須為其研發(fā)一套完整的AI邏輯才能滿足其在本作中的功能需求[5],如圖2為控制敵人AI的智能巡邏框架圖。

一款策略類的游戲,敵人AI除了會巡邏尋路之外,自動搜尋獵物也是一必不可少的功能要素,而自動搜尋,在Unity3D游戲開發(fā)引擎之中運用的較多的是射線Ray系統(tǒng)了,在敵人的眼睛前方布置一條指向前方并且長度為搜尋長度的射線,由此來實現(xiàn)自動搜尋的效果。本游戲采用就是射線旋轉(zhuǎn)移動的方式增加了敵人的搜尋范圍,即:使用多射線鋪成一個大小自定的平面錐型,并且使其能夠上下進(jìn)行旋轉(zhuǎn)移動,形成一個偽錐型。此方式能極好地解決多射線形式的性能消耗過大的問題,并且搜尋范圍也有得到相應(yīng)的保證。

4 總結(jié)與展望

游戲設(shè)計了一套全新的交互按鍵方式,以及多種明確、美觀的交互反饋形式。通過對硬件輸入的檢測,在熒屏上輸出相對應(yīng)的交互反饋,提高了游戲的整體可玩性。游戲場景中,海洋平面則使用了UV平移制作了海洋波浪運動效果,同時也使用了攝像機(jī)Bloom輝光特效為海面添加了晶瑩剔透的閃光。敵人的重要AI部分提出了一種不需借助Navigation自動尋路控件即可智能巡邏的檢測觸發(fā)器方法,使用了多射線旋轉(zhuǎn)移動的方法模擬錐型射線的制作。

策略游戲不僅滿足了玩家、功能以及性能上的重要需求,且符合游戲在游玩時所給予玩家的流暢體驗,策略與護(hù)衛(wèi)海洋相結(jié)合,寓教于樂,游戲方式更容易讓人接受。

參考文獻(xiàn):

[1] 劉桂元,曾志遠(yuǎn),楊書新.基于Unity3d引擎的教育類游戲設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2017(1):50-53.

[2] 郗銳.淺談電子游戲運營模式與機(jī)制設(shè)計[J].電腦知識與技術(shù),2017(3):220-221.

[3] 劉小慧,馬馴.現(xiàn)代電子游戲中的角色動作設(shè)計與研究[J].大眾標(biāo)準(zhǔn)化,2021(1):131-132.

[4] 晉錚,章立.游戲設(shè)計中的極簡主義風(fēng)格研究[J].包裝工程,2016(14):161-164.

[5] 沈宇,韓金朋,李靈犀,等.游戲智能中的AI——從多角色博弈到平行博弈[J].智能科學(xué)與技術(shù)學(xué)報,2020,2(3):205-213.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
游戲策略
例談未知角三角函數(shù)值的求解策略
我說你做講策略
高中數(shù)學(xué)復(fù)習(xí)的具體策略
數(shù)獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
第八章直接逃出游戲
Passage Four
万安县| 张掖市| 东莞市| 仁化县| 荔浦县| 安远县| 甘孜| 石屏县| 金华市| 图木舒克市| 玛纳斯县| 镇巴县| 洮南市| 龙州县| 仲巴县| 密云县| 永和县| 高碑店市| 新邵县| 江北区| 长寿区| 恩施市| 濮阳县| 宝丰县| 巴彦淖尔市| 曲阜市| 阳谷县| 无为县| 莱阳市| 鄂尔多斯市| 巨鹿县| 大渡口区| 济阳县| 正安县| 江源县| 仙桃市| 乌恰县| 玉山县| 瑞丽市| 石嘴山市| 阳新县|