• <ul id="i22wy"></ul>
    <strike id="i22wy"></strike>
  • <ul id="i22wy"><sup id="i22wy"></sup></ul>
    <strike id="i22wy"></strike>
    <strike id="i22wy"></strike>
    <fieldset id="i22wy"><menu id="i22wy"></menu></fieldset>
    114培訓(xùn)網(wǎng)歡迎您來到游戲設(shè)計(jì)交流中心!

    400-850-8622

    全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

    MOBA類型游戲的人機(jī)對(duì)戰(zhàn)的模式中,電腦的AI是如何設(shè)計(jì)的?

    現(xiàn)代的游戲AI很多是由專門的AI引擎來實(shí)現(xiàn)的,如果用文字把AI的規(guī)則寫下來,那是非常的多

    MOBA( Online Battle Arena)中文譯為多人在線戰(zhàn)術(shù)競技游戲。 online battle arena(MOBA),也被稱為Action real-time strategy(Action RTS,ARTS)

    這類游戲的玩法是:在戰(zhàn)斗中一般需要購買裝備,玩家通常被分為兩隊(duì),兩隊(duì)在分散的游戲地圖中互相競爭,每個(gè)玩家都通過一個(gè)RTS風(fēng)格的界面控制所選的角色。但不同于《星際爭霸》等傳統(tǒng)的硬核的RTS游戲,這類游戲通常無需操作RTS游戲中常見的建筑群、資源、訓(xùn)練兵種等組織單位,玩家只控制自己所選的角色。

    MOBA游戲相比傳統(tǒng)的RTS游戲更偏向于休閑娛樂,對(duì)玩家的操作要求均遠(yuǎn)遠(yuǎn)低于RTS游戲。再加上這類游戲中很多是免費(fèi)游戲,因此吸引了一大批難以適應(yīng)RTS游戲大規(guī)模高要求操作的玩家。因?yàn)椴辉龠^高地要求玩家的操作水平,這個(gè)玩家群體比傳統(tǒng)RTS游戲的硬核傾向的玩家群體要大得多。

    1998年,《星際爭霸》發(fā)行,暴雪娛樂公司*次在暴雪娛樂制作并發(fā)行的游戲中綁定了地圖編輯器。利用這款地圖編輯器,當(dāng)時(shí)有一位叫做Aeon64的玩家制作出一張名為Aeon Of Strife的自定義地圖,這就是所有MOBA游戲的雛形。在這個(gè)自定義地圖中,玩家們可以控制一個(gè)英雄單位與電腦控制的敵方團(tuán)隊(duì)進(jìn)行作戰(zhàn),地圖有3條兵線,并且連接雙方主基地,獲勝的目標(biāo)就是摧毀對(duì)方主基地[2]?。值得一提的是,這款老地圖現(xiàn)今依然在《星際爭霸Ⅱ》中保持著更新。

    這張星際爭霸的自定義地圖是DOTA的前身,也是所有moba的雛形,因此MOBA游戲的源頭應(yīng)該追尋至《星際爭霸》時(shí)代的RPG地圖。到英雄聯(lián)盟的出現(xiàn),在剛開始英雄聯(lián)盟自稱為類DOTA游戲,但隨后拳頭游戲開始將游戲定義為MOBA游戲,隨后MOBA游戲的叫法開始更加流行,但本質(zhì)上是從類DOTA游戲進(jìn)化過來的游戲類型,它囊括了比“類DOTA游戲”更多的內(nèi)容,甚至連DOTA自身也開始被定義為MOBA了。

    游戲里的AI是如何實(shí)現(xiàn)的?

    比如賽車游戲的AI,和你一起跑得賽車根據(jù)不同等級(jí)的AI表現(xiàn)出不同能力。它基本的設(shè)計(jì)思想是,通過對(duì)地圖場景進(jìn)行數(shù)學(xué)建模然后結(jié)合模型中的應(yīng)變量結(jié)合賽車本身的參數(shù)進(jìn)行數(shù)學(xué)結(jié)合。*特出了帶有系數(shù)的近似等式。然后通過數(shù)學(xué)變換(比如三角變換,等比變化,隨即變換等)使得AI變的非常具備“人”的思維。 還有一種AI是通過行為庫來實(shí)現(xiàn)的,在行為庫中,定義了大量的行為,這些行為可能是預(yù)先定義好的,可能是游戲者在平時(shí)游戲的時(shí)候被系統(tǒng)錄入的。然后AI通過類似責(zé)任鏈(不同等級(jí)的責(zé)任者對(duì)應(yīng)不同等級(jí)的責(zé)任行為,你可以去網(wǎng)絡(luò)搜索一下)的形式獲取到某一個(gè)時(shí)候的行為,從而表現(xiàn)的比較有"智能".

    游戲設(shè)計(jì)模式 之 AI_行為樹

    引擎:.1.0
    語言:
    Git倉庫地址:

    定義——
    行為被定義為層次化的目標(biāo)的集合,其表現(xiàn)為樹形結(jié)構(gòu)。
    智能體首先選擇高級(jí)抽象目標(biāo),然后遞歸分解成一個(gè)可以遵照執(zhí)行的原子目標(biāo)的集合。
    以此實(shí)現(xiàn)原子目標(biāo),最終實(shí)現(xiàn)高級(jí)抽象目標(biāo)。

    類圖——

    行為樹圖——

    類圖看起來比較復(fù)雜~,哈哈,其實(shí)不難,記住幾個(gè)關(guān)鍵單就行。
    1、樹形結(jié)構(gòu),使用“組件模式”實(shí)現(xiàn)。
    從“行為樹圖”中可以看出,復(fù)合目標(biāo)和子目標(biāo)組成了一個(gè)樹形結(jié)構(gòu)。
    think每次根據(jù)權(quán)重(由數(shù)值策劃提供公式)選擇一個(gè)“分支”,一次執(zhí)行完整個(gè)分支下的所有葉節(jié)點(diǎn),即可完成策略——實(shí)際項(xiàng)目中會(huì)有很多層,這里簡化一下。
    2、通過權(quán)重選擇策略,每個(gè)策略都對(duì)應(yīng)一個(gè)繼承自Goal_Evaluator的類,對(duì)應(yīng)其返回權(quán)重的以及設(shè)置目標(biāo)的邏輯。

    下面來看看具體實(shí)現(xiàn)
    簡單講,需要做的事情有3個(gè)
    1、編寫戰(zhàn)略目標(biāo)

    重寫Enter()函數(shù),負(fù)責(zé)插入子目標(biāo)

    2、編寫子目標(biāo)
    Goal_

    Goal_

    Goal_

    以上就是策略與子目標(biāo)的實(shí)現(xiàn),主要工作就是在Enter(),與Process(dt)中,在恰當(dāng)?shù)臅r(shí)機(jī)返回目標(biāo)狀態(tài)即可。

    3、(用樹形結(jié)構(gòu),即組合模式)組織起來

    如圖,Goal_Think類通過每個(gè)策略的Goal_Evaluator類計(jì)算權(quán)重,然后,策略在Enter()中也。
    這樣便組成了一個(gè)樹形結(jié)構(gòu),然后通過Process(dt)驅(qū)動(dòng)行為樹運(yùn)行。

    擴(kuò)展:
    配置化——我的思路是策劃在json表中配置 戰(zhàn)略目標(biāo)以及其對(duì)應(yīng)的子目表“樹”。

    如何設(shè)計(jì)出優(yōu)秀的游戲AI

    游戲發(fā)展這么多年,并不是沒有狡猾的AI,只是市面上主流的游戲沒有使用到狡猾的AI而已,舉個(gè)最簡單的例子,我相信很多人下象棋都下不過大師難度的電腦或者機(jī)器人吧,這就是狡猾的AI,再聯(lián)想下圍棋界的阿爾法狗,游戲AI其實(shí)并不是沒有發(fā)展,相反有些ai發(fā)展的有點(diǎn)可怕
    那么為什么主流游戲,比如RPG、SLG游戲的AI會(huì)給很多玩家AI還是很蠢的感覺呢,為什么他們不狡猾一點(diǎn)呢,簡單的來說就是——他們不蠢怎么襯托玩家的聰明呢
    游戲AI,作為游戲內(nèi)的設(shè)計(jì)元素之一,他所最終服務(wù)的對(duì)象是玩家,一個(gè)游戲AI是好是壞不是根據(jù)AI的聰明程度來判定的,而是根據(jù)他能給玩家?guī)硎裁礃拥姆答亖砼卸ǖ?,這個(gè)才是游戲AI的最終設(shè)計(jì)目的
    游戲AI服務(wù)于玩家的體驗(yàn),設(shè)計(jì)目的決定了他的設(shè)計(jì)方式,想要設(shè)計(jì)一個(gè)好游戲AI,并不是越聰明越好

    即時(shí)戰(zhàn)略游戲(比如 WAR3)的 AI 是怎樣實(shí)現(xiàn)的?

    War3的AI沒有必要使用你提及的算法,或者說,根本無法使用。
    有相關(guān)經(jīng)驗(yàn)表明,游戲的AI如果采用神經(jīng)網(wǎng)絡(luò)等算法,會(huì)傻得出奇。
    使用派算法的AI總會(huì)做出匪夷所思的動(dòng)作,讓人無法理解,游戲性盡失。
    其主要原因在于遺傳算法、模擬退火算法、神經(jīng)網(wǎng)絡(luò)算法、各種分類算法等等,都是高度概括化的,旨在找到*解/或者找到全局關(guān)系。但是我們的AI實(shí)際不需要*解和全局關(guān)系,一是你的電腦沒那么叼,這么復(fù)雜的情況,如果真的高度概括出來了,其復(fù)雜程度是很高的,你的電腦也帶不動(dòng),其次是算法在訓(xùn)練過程中收斂也會(huì)很慢,因?yàn)闃颖咎^復(fù)雜,所以也許要花上很久(幾年?猜的)來收斂,如果我們降低收斂精度要求來使速度加快,AI就會(huì)變得非常傻,做游戲明顯不能這樣。即使上述問題都被解決了,還有個(gè)問題就是,電腦得到了*解和*數(shù)學(xué)模型,你作為玩家就沒有勝利的希望了,這游戲給誰玩?
    即使設(shè)計(jì)公司神經(jīng)病般的決定如此設(shè)計(jì),每當(dāng)你的游戲有更新,兵種變化,數(shù)據(jù)變化,整個(gè)算法就要重新訓(xùn)練,玩家需要重新下載AI的全部內(nèi)容,對(duì)用戶的體驗(yàn)和公司的工作效率都有損害。
    戰(zhàn)略類游戲的AI,還是有限狀態(tài)機(jī)。根據(jù)不同情況分類做不一樣的事情,全都設(shè)計(jì)好,設(shè)計(jì)的盡量詳細(xì),就OK了。
    關(guān)于其復(fù)雜度:
    這類AI的程序體往往超乎想象的長,當(dāng)然具體長度和游戲本身的設(shè)計(jì)也有一定關(guān)系,和游戲其它部分代碼的設(shè)計(jì)優(yōu)化程度也有關(guān)系,但是即使在較優(yōu)環(huán)境中,其AI長度也是很長的。具體原因就在于其事無巨細(xì)的分類了所有情況,規(guī)定了AI在不同時(shí)間不同情況所做的不同事情,作為一個(gè)戰(zhàn)略類游戲,尤其是即時(shí)戰(zhàn)略類游戲,這是十分復(fù)雜的,情況十分多,因此程序本身也會(huì)相當(dāng)?shù)拈L。
    但是他運(yùn)行速度又快!又像人類在玩!又給了玩家勝利的可能!又容易設(shè)計(jì)和更改!

    DNF的怪物AI是如何設(shè)計(jì)的?

    DNF游戲中的怪物AI設(shè)計(jì)理念如下:
    首先判斷設(shè)置半徑范圍內(nèi)是否有敵對(duì)單位;
    有的話則生成隨機(jī)數(shù),根據(jù)該隨機(jī)數(shù)對(duì)應(yīng)的路線,驅(qū)動(dòng)怪物向玩家靠近。
    沒有的話仍然產(chǎn)生隨機(jī)數(shù),依據(jù)該數(shù)字產(chǎn)生對(duì)應(yīng)的路線,驅(qū)動(dòng)怪物在范圍內(nèi)移動(dòng)。
    其中玩家設(shè)置為怪物的敵對(duì)單位,接近到一定距離后怪物會(huì)對(duì)敵對(duì)單位進(jìn)行攻擊。

    溫馨提示:為不影響您的學(xué)業(yè),來校區(qū)前請先電話咨詢,方便我校安排相關(guān)的專業(yè)老師為您解答
    相關(guān)資料
    姓名不能為空
    手機(jī)號(hào)格式錯(cuò)誤
    主站蜘蛛池模板: 精品露脸国产偷人在视频| 99热这里只有精品6国产免费| 大桥未久在线精品视频在线| 精品一久久香蕉国产线看播放 | 亚洲综合精品香蕉久久网97| 欧美精品中文字幕亚洲专区| 国产精品臀控福利在线观看| 亚洲精品你懂的在线观看 | 亚洲精品人成无码中文毛片 | 国产精品最新国产精品第十页 | 欧美亚洲综合免费精品高清在线观看 | 色婷婷噜噜久久国产精品12p| 2024国产精品极品色在线| 国产精品亚洲аv无码播放| 亚洲精品中文字幕无码蜜桃| 欧美精品黑人粗大欧| 国产一区精品| 91不卡在线精品国产| 久久精品成人国产午夜| 国产精品亚洲精品日韩已满| 精品三级AV无码一区| 色久综合网精品一区二区| 亚洲精品网站在线观看不卡无广告 | 国产精品自在线拍国产电影| 国产精品99无码一区二区| 亚洲国产精品久久66| 国产在线拍揄自揄视精品不卡| 国产午夜无码精品免费看 | .精品久久久麻豆国产精品 | 亚洲中文久久精品无码ww16| 欧美精品一区二区三区免费观看| 精品国内自产拍在线观看 | 久久精品无码午夜福利理论片| 亚洲一区精品伊人久久伊人| 午夜精品久久久久久| 久久夜色撩人精品国产| 久久无码精品一区二区三区| 人妻偷人精品成人AV| 亚洲欧美精品一区久久中文字幕| 亚洲精品综合久久| 久久精品亚洲一区二区三区浴池|