游戲中的人機(jī)對戰(zhàn),“機(jī)”這一部分是由兩個部分組成的:數(shù)值(比如bot數(shù)目、血量、命中率、技能cd、攻擊力、防御力等等)和AI(人工智能,控制bot行為)。很多沒入行的朋友經(jīng)常把這兩個概念混為一談,然后鐵口直斷AI戰(zhàn)勝玩家是非常簡單的事情。
先說結(jié)論:對挑戰(zhàn)電腦的難度而言,AI和數(shù)值是相乘的關(guān)系,通過改良AI設(shè)計可以達(dá)到讓電腦更具挑戰(zhàn)性的目的。當(dāng)前游戲行業(yè)普遍使用的都是弱人工智能,即通過預(yù)設(shè)AI使bot呈現(xiàn)人工智能的效果,請注意這個大前提。在制作AI的過程中,思路是非常簡單的,就是將設(shè)計師的思維(或者叫人的思維)植入AI代碼中。
在一個具體的情勢中,人會如何行為就設(shè)計AI如何行為,當(dāng)然有一些具體的方法因游戲和關(guān)卡環(huán)境而異,比如戰(zhàn)棋游戲的格子限制、劇情包裝需要、關(guān)卡地形等。而設(shè)計的難點(diǎn)在于兩個方面:
1、設(shè)計師的精力和智力有限
(1)先說精力有限
遵照弱人工智能的設(shè)計思路,設(shè)計師需要窮舉所有的戰(zhàn)斗情勢,對不同情勢下的bot行為作出決策然后形成AI,而實(shí)際上戰(zhàn)斗情勢是幾乎不可能窮舉的。以簡單的2V2回合制站樁戰(zhàn)斗為例,假設(shè)這個游戲有2種職業(yè),每個職業(yè)戰(zhàn)斗中可使用2個技能,那實(shí)際可能的戰(zhàn)場行為是9(職業(yè)組合)×4(技能組合)=36,另外還有很多其他數(shù)據(jù)也會影響AI行為,如血量、技能冷卻、buff狀態(tài),而這些數(shù)據(jù)往往是連續(xù)的,如血量可以是1~n任意一個值,這些數(shù)據(jù)導(dǎo)致戰(zhàn)斗情勢復(fù)雜度指數(shù)級提升。鑒于此,AI設(shè)計過程中往往會進(jìn)行很多簡化,如90%以上生命值為安全,10%~50%為受傷,10%以下為瀕死,而實(shí)際上呢,不同職業(yè)承受傷害能力顯然不同的,T和奶同為10%的生命值,生存能力一樣嗎?即使相同職業(yè)面對特定攻擊力的敵人,15%可能再挨一下就死了,50%可能能挨2下,但AI認(rèn)為10%~50%是同一個情勢,這個合理嗎?當(dāng)情勢判斷由于簡化導(dǎo)致出現(xiàn)不合理時,AI的智能程度自然也會大打折扣。
(2)再說智力有限
通常設(shè)計師是一類游戲中最精通的玩家,他們面對游戲中一個具體情勢時能很快給出比較合理的決策,但這種合理是有局限性的,當(dāng)戰(zhàn)場形勢足夠復(fù)雜,A、B決策短時間內(nèi)都無法直觀判斷效果時,設(shè)計師其實(shí)也很難抉擇最優(yōu)策略,因此設(shè)計邏輯中可能存在大量次優(yōu)策略,自然也導(dǎo)致AI智能程度下降。相比精力有限,智力有限的影響小很多,畢竟設(shè)計師是足以戰(zhàn)勝大部分玩家的。
2、硬件限制
假設(shè)真有不開眼的土豪游戲公司,雇了一大幫牛B閃閃的設(shè)計師來設(shè)計AI,相信我,那個AI腳本的復(fù)雜度一定會超過你的想象。網(wǎng)絡(luò)游戲AI由服務(wù)器計算,同一時間戰(zhàn)斗的玩家很多,服務(wù)器CPU會因此不堪重負(fù);即使土豪公司使用了宇宙級的服務(wù)器,但是要同時傳送足夠多的戰(zhàn)場情勢給服務(wù)器分析,網(wǎng)絡(luò)帶寬消耗也是非常大的,所以你還要交大把錢給中國電信。你真的夠壕嗎?對于單機(jī)游戲本質(zhì)是一樣的,將大量腳本載入內(nèi)存,將大量運(yùn)算交給CPU,會讓你感覺電腦很“卡”。想象一下,人家玩3d的LOL飛起,你玩?zhèn)2d策略游戲卡成馬,你一定會默默撕掉筆記本外星人的logo,然后換上hasee……
綜上所述,目前回合制游戲AI智能程度是不及真實(shí)玩家的,陣容、裝備、技能配置等完全相同的情況下,電腦干不過玩家。那么問題來了?為什么有時候你會打不過電腦呢?有時候會覺得“哇這一關(guān)很有挑戰(zhàn)性”呢?其實(shí)就是設(shè)計師欺負(fù)人啦(打破規(guī)則賦予電腦更多數(shù)值),比如你100攻擊力,電腦150攻擊力啦;你7級,電腦9級啦;你的農(nóng)民一次采10礦,電腦的農(nóng)民一次采20礦啦;你50個兵,電腦80個兵啦……有些游戲所謂的簡單模式、地獄模式基本上也是在數(shù)值上下功夫。
因?yàn)锳I和數(shù)值是相乘的關(guān)系,在同等挑戰(zhàn)難度下,AI做得越好,電腦需要的額外數(shù)值越少,這個時候游戲會顯得越有趣。試想一下,你的張飛和呂布對砍,1分鐘內(nèi)張飛需要每次攻擊都暴擊才能殺死呂布,否則張飛死,面對這樣屌炸天呂布,你真的會樂此不疲地默默給張飛堆暴擊嗎?
為了更好的AI一起努力!
投稿郵箱:chuanbeiol@163.com 詳情請訪問川北在線:http://sanmuled.cn/