• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DOTA游戲中的智能裝備合成算法的設(shè)計(jì)與實(shí)現(xiàn)

      2015-09-21 09:03:06吳德堪周春良寧波大紅鷹學(xué)院信息工程學(xué)院寧波315175
      現(xiàn)代計(jì)算機(jī) 2015年10期
      關(guān)鍵詞:卷軸魔杖金錢(qián)

      吳德堪,周春良(寧波大紅鷹學(xué)院信息工程學(xué)院,寧波 315175)

      DOTA游戲中的智能裝備合成算法的設(shè)計(jì)與實(shí)現(xiàn)

      吳德堪,周春良
      (寧波大紅鷹學(xué)院信息工程學(xué)院,寧波 315175)

      0 引言

      目前DOTA中有超過(guò)152種不同的裝備,每一件裝備具有其各自的金錢(qián)價(jià)格,上至五六千下至50金不等。裝備大致可分為三種:基礎(chǔ)裝備、合成裝備、消耗品。

      基礎(chǔ)裝備:是指價(jià)格一般不高且直接可以購(gòu)買(mǎi)的裝備;

      合成裝備:區(qū)分于基礎(chǔ)裝備,是指需要通過(guò)一件或多件基礎(chǔ)裝備加上零個(gè)或一個(gè)合成卷軸來(lái)進(jìn)行合成的高級(jí)裝備;

      消耗品:顧名思義是指類似于藥水、守衛(wèi)、傳送卷軸之類的具有使用次數(shù)限制的道具,顯然此類道具不在裝備合成的范圍之內(nèi)。

      就是這樣簡(jiǎn)簡(jiǎn)單單的通過(guò)多個(gè)低等級(jí)裝備合成一個(gè)高等級(jí)裝備的方式,大大增加了游戲的趣味性和擴(kuò)展性,徹底改變了之前單一的直接購(gòu)買(mǎi)裝備的形式。雖然人們不難地設(shè)計(jì)了這樣的一種游戲規(guī)則,但是要在游戲中具體地實(shí)現(xiàn)它并非易事[1]。

      1 簡(jiǎn)單合成算法

      1.1簡(jiǎn)單合成算法的一般式模型

      為了增加游戲的趣味性和代入感,同時(shí)也為了防止不同裝備在合成過(guò)程中可能出現(xiàn)的混淆問(wèn)題,在DOTA中引進(jìn)了“卷軸”的概念,部分裝備在合成的過(guò)程中需要購(gòu)買(mǎi)欲合成裝備的合成卷軸才能合成該裝備。

      首先我們先列出所有可能的裝備合成類型如下[2]:

      a+…=C

      a+…+合成卷軸=C

      n*a+n*b+…=C,n∈[0,∞)

      n*a+n*b+… +合成卷軸=C,n∈[0,∞)

      對(duì)應(yīng)實(shí)例:

      圣者遺物+惡魔刀鋒=圣劍

      圣者遺物+水晶劍+代達(dá)羅斯之殤合成卷軸=代達(dá)羅斯之殤

      治療指環(huán)+兩個(gè)回復(fù)戒指+抗魔斗篷=挑戰(zhàn)頭巾

      兩個(gè)秘銀錘+黯滅合成卷軸=黯滅

      我們對(duì)其進(jìn)行優(yōu)化,因?yàn)榭梢詫⒑铣删磔S看成一種不具備任何屬性的“基礎(chǔ)裝備”,它與其他所有基礎(chǔ)裝備一樣需要用金錢(qián)購(gòu)買(mǎi),只是它不具備任何功能。然后我們將多個(gè)相同種類的裝備相乘看做相加,即(N*A)->(A+A+A+…+A(N個(gè)A)),之所以這樣做是為了盡量非特殊化,這對(duì)于后面的代碼編寫(xiě)思路有著很大的幫助,而且現(xiàn)在就可以看出來(lái)這樣做的好處了:經(jīng)過(guò)我們的兩步優(yōu)化工作,我們已經(jīng)將四個(gè)式子合并成為了一個(gè)一般式:

      在實(shí)現(xiàn)合成算法之前必須要建立裝備的數(shù)據(jù)結(jié)構(gòu)模型,這個(gè)數(shù)據(jù)結(jié)構(gòu)模型應(yīng)該告訴計(jì)算機(jī)兩件事情:“哪些裝備能合成哪個(gè)裝備”和“哪個(gè)裝備能被哪些裝備合成”。所以這個(gè)數(shù)據(jù)結(jié)構(gòu)模型大致可以表示為如下圖所示:

      圖1 

      DOTA是在魔獸爭(zhēng)霸3引擎下的自定義地圖,其腳本語(yǔ)言并非是面向?qū)ο蟮腃++,而是傾向過(guò)程化的以創(chuàng)建觸發(fā)器的形式為主導(dǎo)的JASS語(yǔ)言。不僅僅在DOTA中,而且這種道具合成的元素還存在于各大DOTA類游戲中,其編程語(yǔ)言更是不一。不過(guò)萬(wàn)變不離其宗,其中的邏輯道理都是相同的,接下來(lái)我們逐條解析。

      1.2簡(jiǎn)單合成算法的實(shí)現(xiàn)

      在簡(jiǎn)單合成算法中,假設(shè)我們需要合成一個(gè)物品A,我們稱之為目標(biāo)物品。首先,我們有一個(gè)檢查函數(shù),來(lái)判斷玩家持有的物品是否符合合成條件,我們稱這個(gè)函數(shù)為ItemUpgradeCondition。其次,我們給這個(gè)函數(shù)輸入兩個(gè)參數(shù),一個(gè)是英雄句柄,一個(gè)是目標(biāo)物品的ID(或種類、或句柄、或標(biāo)記,這取決于數(shù)據(jù)結(jié)構(gòu)中物品之間的聯(lián)系方式,例如在DOTA中就是用256進(jìn)制的物品序號(hào)作為關(guān)鍵鑰匙)。

      在ItemUpgradeCondition中,我們首先得到兩個(gè)形參:英雄句柄和目標(biāo)物品的ID,通過(guò)之前建立的數(shù)據(jù)結(jié)構(gòu)模型,我們順著目標(biāo)物品的ID能夠找到所需配件,例如“A+B+C+D=目標(biāo)物品”,或者“A+A+A+B=目標(biāo)物品”。接著在英雄的身上依次尋找是否擁有所需條件,若條件全部滿足則返回真,否則為假。若返回為真則還需在返回之前記錄下依次尋找到的物品句柄,這樣以便于接下來(lái)的操作[3]。

      當(dāng)一個(gè)英雄做了一個(gè)有可能合成物品的動(dòng)作時(shí),例如購(gòu)買(mǎi)物品、拾取物品,則運(yùn)行ItemUpgradeConidition函數(shù),若檢查結(jié)果為真,則將記錄內(nèi)的物品刪除,并給予目標(biāo)物品,即完成合成。若為假則不做任何動(dòng)作。

      2 智能合成算法

      在游戲突飛猛進(jìn)發(fā)展的今天,對(duì)于上述的簡(jiǎn)單合成算法,早已不能滿足玩家的需求。因?yàn)閮H使用上述的算法,會(huì)出現(xiàn)一個(gè)非常不友好的人機(jī)交互問(wèn)題,更是當(dāng)今DOTA仍然存在的一個(gè)巨大的漏洞:當(dāng)玩家擁有足夠金錢(qián)并且想要合成高級(jí)裝備時(shí),仍需依次購(gòu)買(mǎi)配件,例如合成魔杖需要:樹(shù)枝+樹(shù)枝+樹(shù)枝+魔棒+魔杖卷軸。不僅如此,更糟糕的是,在DOTA游戲規(guī)則中,一名英雄只能同時(shí)攜帶6件物品,超出時(shí)便不能拾取物品并出現(xiàn)系統(tǒng)提示“物品欄已滿”。甚至實(shí)戰(zhàn)情況的更加復(fù)雜,DOTA中還存在運(yùn)輸信使和儲(chǔ)藏室,玩家的物品可能不在自己身上而放置在信使中,甚至可能掉落在地上或者暫時(shí)共享給隊(duì)友使用(例如醫(yī)療指環(huán))。

      對(duì)于這樣的情況,我們得采用更加智能的算法來(lái)解決玩家實(shí)際操作中遇到的問(wèn)題。我們將這復(fù)雜的情況進(jìn)行分析得出:玩家在合成物品時(shí)總存在多余的步驟,例如:(1)在金錢(qián)足夠時(shí)還需使用金錢(qián)購(gòu)買(mǎi)中間道具如用來(lái)合成魔杖的樹(shù)枝;(2)得將物品放置在自己身上才能進(jìn)行合成判定;(3)若金錢(qián)只夠購(gòu)買(mǎi)中間道具仍需玩家手動(dòng)操作,盡管系統(tǒng)已經(jīng)知道了玩家的目標(biāo)道具。

      針對(duì)這三種多余的步驟,我們采取以下的解決方案:(1)在金錢(qián)足夠時(shí),自動(dòng)為玩家購(gòu)買(mǎi)中間道具。(2)自動(dòng)尋找可能范圍內(nèi)歸玩家所有的中間道具。(3)若金錢(qián)不夠購(gòu)買(mǎi)目標(biāo)道具卻能夠購(gòu)買(mǎi)中間道具時(shí)自動(dòng)為玩家分發(fā)合適的中間道具,而不是提示“金錢(qián)不足”。

      因此我們改進(jìn)ItemUpgradeCondition函數(shù):我們將是否持有中間道具拓展為兩個(gè)或命題:持有中間道具或持有等量金錢(qián),前者優(yōu)先級(jí)大于后者,若前者為否則需并記錄金錢(qián)數(shù)量。當(dāng)所有條件都為真,則扣除統(tǒng)計(jì)的金錢(qián)數(shù)量,此時(shí)玩家便不需要原本的自助操作了。每當(dāng)一個(gè)物品被創(chuàng)建、刪除時(shí)都記錄其持有者和所有者。并且每一位玩家擁有自己的所擁有的物品列表,當(dāng)一個(gè)物品被自己所擁有或失去時(shí)則從自己的物品列表中添加或刪除該物品。

      3 實(shí)例

      例如玩家身上攜帶了5件物品并剩余一個(gè)空位,欲購(gòu)買(mǎi)一件新的物品——魔杖,看似輕而易舉的情況卻在DOTA中實(shí)際操作得將其余物品一件一件地扔在地上以空出4個(gè)空位,然后再依次購(gòu)買(mǎi)樹(shù)枝、樹(shù)枝、樹(shù)枝、魔棒,最后點(diǎn)擊魔杖卷軸來(lái)完成新增一件魔杖物品的操作。

      在《英雄爭(zhēng)霸》這款魔獸地圖中,改進(jìn)后的智能物品機(jī)制已經(jīng)被應(yīng)用到實(shí)際中,在任何復(fù)雜的情況下,玩家合成高級(jí)物品所需的多余操作步驟都已被棄除,如上述例子,在智能的裝備合成系統(tǒng)下,無(wú)論玩家處于沒(méi)有足夠格子放置中間物品或是中間物品暫時(shí)不在身上時(shí),只要你一次點(diǎn)擊的操作,智能系統(tǒng)就會(huì)自動(dòng)為你找到所需條件。

      4 結(jié)語(yǔ)

      這一系列的改進(jìn)離不開(kāi)一個(gè)根本原因:以玩家為出發(fā)點(diǎn)。正是解決了玩家在操作游戲中遇到的不舒服的問(wèn)題,才能確保玩家能夠享受到應(yīng)有的樂(lè)趣。這就是智能的裝備合成系統(tǒng)的作用所在。

      [1]呂森林.教育游戲產(chǎn)業(yè)研究報(bào)告[J].中國(guó)遠(yuǎn)程教育,2004

      [2]曹晶瑜.學(xué)習(xí)者特征分析對(duì)教育游戲設(shè)計(jì)的啟示[J].天水師范學(xué)院學(xué)報(bào),2010

      [3]丁展.Visual C++游戲開(kāi)發(fā)技術(shù)與實(shí)例[M].北京:人民郵電出版社,2001

      DOTA Equipment Synthesis;Intelligent Algorithm;JASS Language

      Design and Implementation of Intelligent Equipment Synthesis Algorithm in DOTA Game

      WU De-kan,ZHOU Chun-liang
      (College of Information Engineering,Ningbo Dahongying University,Ningbo 315175)

      1007-1423(2015)10-0063-03

      10.3969/j.issn.1007-1423.2015.10.018

      吳德堪(1995-),男,浙江永康人,在讀本科,研究方向?yàn)榫W(wǎng)絡(luò)游戲設(shè)計(jì)與編程

      2015-02-05

      2015-03-05

      以玩家視角為出發(fā)點(diǎn),提出能夠解決玩家實(shí)際游戲過(guò)程中存在多余操作問(wèn)題的智能裝備合成算法。該算法解決目前DOTA游戲中存在的一些問(wèn)題,將DOTA中復(fù)雜的裝備系統(tǒng)提煉,并深度考慮DOTA中復(fù)雜的游戲環(huán)境,最終實(shí)現(xiàn)用智能系統(tǒng)執(zhí)行來(lái)代替復(fù)雜的游戲操作。并將這一智能合成算法應(yīng)用在自主研發(fā)的實(shí)際游戲中,驗(yàn)證算法的可行性。

      DOTA裝備合成;智能算法;JASS語(yǔ)言

      周春良(1982-),男,浙江寧波人,碩士,研究方向?yàn)樗惴ㄔO(shè)計(jì)與分析

      In the viewpoint of game players,puts forward intelligent equipment synthesis algorithm to solve the actual game excess operation problems in the process of the game.The algorithm solves some problems in current DOTA game,the complex equipment system in it,and deep consideration in DOTA complex game environment,realizes the use of intelligent system instead of a complex game operation.And applies the intelligent synthesis algorithm in independent research and development of the actual game,verifies the feasibility of the algorithm.

      猜你喜歡
      卷軸魔杖金錢(qián)
      藝術(shù)卷軸
      A Harry Potter exhibition
      再婚老人如何走出金錢(qián)的“心結(jié)”?
      中老年保健(2021年5期)2021-08-24 07:08:12
      掌控板動(dòng)態(tài)卷軸
      古老厚重的甘肅非遺卷軸
      比金錢(qián)更值錢(qián)的
      小讀者(2020年2期)2020-03-12 10:34:06
      二則
      卷軸:駱駝
      紅巖(2017年6期)2017-11-28 08:06:49
      神奇的魔杖
      魔法師的魔杖
      沂水县| 开化县| 乐陵市| 镇远县| 花莲县| 绥阳县| 阿坝| 南宫市| 炎陵县| 江北区| 类乌齐县| 渭南市| 哈密市| 社会| 南华县| 江口县| 泸西县| 天全县| 武穴市| 庆元县| 兴隆县| 旬阳县| 年辖:市辖区| 句容市| 天峻县| 湖南省| 阿拉善左旗| 卓尼县| 鹤山市| 盖州市| 镇远县| 密云县| 武穴市| 江川县| 东海县| 广东省| 垣曲县| 德阳市| 永清县| 石城县| 宣恩县|