2014年4月18日 星期五

【遊戲】 開發日誌:讓電腦英雄變得更像真人



嘿!大家安安,又來到了開發日誌講古時間。這次呢,我們先把一般的遊戲玩法擱在一邊來談論電腦英雄,你可能很難想像在英雄聯盟中打電腦的人其實相當多!最近我們努力地想讓電腦英雄的行為模式更接近真人,而我們想說,你們應該會對這些過程挺有興趣的。
如同我們一說再說的,各位召喚師的寶貴意見對我們的開發日誌都會是很棒的回饋,嗯嗯,接著就讓我們來看看電腦英雄們是怎麼進化的吧!這次升級電腦英雄的支柱之一、同時也是咱們設計分析師的 RoamingNumeral 會負責解說這次的開發日誌,趕緊跟上你的腳步囉!
 Riot Pwyff
 
 為什麼要更新電腦英雄?
進行玩家 vs. 電腦模式對戰的遊戲佔了蠻可觀的一部份,這其中甚至也包括了許多 30 級的召喚師。有這麼多召喚師花了這麼多時間和我們的電腦英雄捧油們相處,所以我們認為應該讓他們再變得更迷人一些才對。
我們同時對打電腦和打真人的召喚師做了問卷,調查他們對於電腦英雄的看法。其中一個最多人反應的是希望電腦英雄可以更像真人:不要這麼好預測,或是做出類似真人的反應和行為,像是撿小兵尾刀和使出他們的連技。而出乎我們意料的是,相較之下,倒是沒什麼人要求要難度更高的電腦英雄。根據這些資料,我們將重點放在如何讓電腦英雄更像真人,特別是這些變動能讓打難度高的電腦對戰變得更有趣。
也有很多召喚師指出,對於優勢與危險,電腦英雄似乎不會做出和真人類似的判斷,而事實也顯示他們說的是正確的。
 
 改善威脅判斷
「威脅評估系統」是我們讓電腦英雄用來判斷他們敵人強度的東西,是電腦英雄做所有決定的基礎根據。
我們先前系統使用的方式在遊戲中是相當常見的,特別是 FPS(First Person Shooter,第一人稱射擊遊戲)。電腦人物會看最近承受了多少傷害以及對方輸出的傷害,來判斷接下來威脅的嚴重狀況。在 FPS 中,這是相當合理的。如果一個電腦人物走到一個轉角時用臉接了一堆子彈,他再繼續亂晃大概就要翹辮子了,所以他會知道最好是趕快撤退。
英雄聯盟的電腦英雄有點不太一樣。如果維迦把他所有招式砸在一個電腦英雄身上,但電腦英雄還活著,其實電腦英雄是不需要逃走的。因為這個時候,正是給維迦那個邪惡的小__(自主規範)一個痛快的好機會啊!維迦剛剛已經梭哈了,代表他身上已經沒有籌碼,所以此時不打,更待何時!
我們的新系統試著在面對類似的情形時,不只是根據生命多寡來判斷,還考慮了自己以及附近敵人的技能使用狀況。這麼做之後,我們看到電腦英雄對威脅的判斷確實改善了許多(維迦哭哭喔)。

舊系統

新系統
 
確切地說,改善威脅評估並不是電腦英雄的仙丹靈藥。英雄聯盟本來就是給真人玩的,不是給電腦玩的,所以這也產生了一些有趣的問題。舉例來說,在技能施放出去之前,遊戲根本就不知道這個技能會幹出什麼事情。當魔甘娜使用了「靈魂枷鎖」後,就會有個腳本啟動,去判斷有沒有人斷開了連結;技能結束時,這個腳本就會對所有還牽著絲的人說「嘿!你!對,就是你,吃下傷害然後被暈眩吧」。在魔甘娜放大絕之前,遊戲連「靈魂枷鎖」會造成傷害跟暈眩效果都不曉得。
現在事情看起來好像蠻簡單的,但這是因為人類可以閱讀說明,並且在狀況發生前提早思考。以結果論,這個系統可以讓電腦英雄知道某個技能施放之後會發生什麼事,但是電腦英雄沒辦法閱讀,也不會從經驗中學習,這是個很大的問題。
為了解決上述問題,這次更新就是用很簡略的評估來判斷一個英雄可以造成多少傷害。電腦英雄還是有可能腦衝或是從應該會贏的戰鬥中逃跑,這是因為他們沒辦法完美計算出到底會有多少傷害,不過真人也是會這樣的啦。 (ノ∀`*)
 
 為什麼沒讓電腦打野或是做出穿牆美技?
這個答案其實很簡單:電腦英雄根本就不知道牆在哪,他們甚至不知道牆壁是啥(肯定沒想到他們這麼蠢對吧)。
這跟對於技能判斷所遇到的挑戰是一樣的:英雄聯盟本來就是給真人玩的。對人類來說,走路必須要彎來彎去的理由很明顯,因為有很多牆擋著啊!但是電腦英雄只會照著設定好的路徑移動。他們不知道到底哪裡有牆,也不知道那些牆有多厚;他們根本就不知道那些障礙物其實就是牆,因為有可能是一坨小兵也說不定啊。電腦英雄就是照著系統告訴他們的方式走,只管快樂地抄最短路徑。
在不知道牆有多厚和怎麼走的情況下,用閃現或是其它技能來穿牆這檔事對電腦英雄來說是超高難度的事情,以自動化來說根本是不可能的。未來(很久很久以後)藉由調整許多地形參數和系統,也許可以達成這件事。
打野的話也是差不多的原因。打野有個主要重點,就是根據不同的情況和目的或是選擇安全的路線來打野,這不是單純用距離就可以判斷的東西。在我們改變電腦英雄對於移動和障礙物的判斷系統之前是沒有辦法讓他們打野的,否則他們只會變成一道價值 300 金錢的移動美食,好端端地放在銀盤上等著你們享用。
我們當然覺得如果電腦英雄會打野和穿牆的話肯定很酷,未來我們會繼續研究讓電腦英雄精通此術的方法。雖然現在我們選擇改善的是電腦英雄的其它行為,但還是可以讓他們在和真人玩家戰鬥時更有能力應付。
 
 閃躲指向技能
電腦英雄和真人兩者對於指向技能的反應是其中一個最常被提起的差別。真人玩家在絕大多數的情況下都會試著閃躲指向技,但電腦英雄通常都是無所畏懼地用臉接下來。因為這是非常不像真人的行為,所以我們真的很想讓電腦英雄學會怎麼閃躲。但是就如同電腦英雄對於障礙物的判斷,我們在這方面也遇到相當大的挑戰 ─ 相信你們也猜到了,沒錯,電腦英雄也「看」不到指向技能。
以下情形是之前電腦安妮看到奈德麗的標槍飛過來時的反應。
掃描中…
目標:奈德麗
我的生命:高
目標 Q 的狀態:可以使用
行動:農到我爽為止
-------------------
掃描中…
目標:奈德麗
我的生命:高
目標 Q 的狀態:無法使用
行動:再農多一點點
-------------------
掃描中…
目標:奈德麗
我的生命:
目標生命:高
目標 Q 的狀態:無法使用
行動:搞什麼鬼!為啥我生命變這麼低!拜託喔 Riot,沒看到奈德麗有多 OP 嗎!(趕緊逃命)
幸好電腦安妮以後不會再這麼傻了,因為我們找到了一個方法,讓電腦解讀已知的資訊以試圖閃躲指向技能。藉由判斷敵人面向的方位以及他們最近進入冷卻的技能,電腦英雄有時就能閃掉指向技。
以下情形是更新之後,電腦安妮看到奈德麗的標槍飛過來時的反應。
掃描中…
目標:奈德麗
我的生命:高
目標 Q 的狀態:可以使用
行動:農
-------------------
掃描中…
目標:奈德麗
我的生命:高
目標 Q 的狀態:無法使用
(偵測到目標使用了技能)

是否為指向技:
目標是否面對著我:
行動:來個漂亮的扭腰擺臀閃過陰險標槍
-------------------
掃描中…
目標:奈德麗
我的生命:高
目標 Q 的狀態:無法使用
行動:換我賞她個痛快!(攻擊)

舊系統

新系統
有了這些變動後,電腦英雄現在就可以試著閃躲指向技了,不過…當然也不會絕對閃得掉。比如說,艾妮維雅的「寒冰閃耀」在到達最遠距離或提早引爆前是不會進入冷卻的,所以電腦英雄沒辦法知道這個技能已經被施放了。阿璃的「幻玉」擲出後會再收回,所以電腦英雄有可能一開始閃過了但是之後就被打到。這個系統還有其它無法處理的技能,但是能閃掉一些技能總比只會用臉接招要好得多了!
 
 更新英雄連技以及出裝
除了上面提到比較艱難的案例之外,也有不少簡單的方法可以讓電腦英雄更像真人,特別是更新連技以及出裝方式。我們負責測試的人員:Riot Afic 利用他打到鑽石階級的知識,在這方面給了我們極大的幫助。現在,電腦英雄們會使用更多符合現況的連技以及更合理的出裝了。
順便一提,電腦安妮現在會閃現把泰貝爾砸在你身上了。穿上你最好看的貼身衣物吧,因為你的衣服大概要被泰貝爾 扒光燒光了!
 
 更像真人的電腦英雄
不意外地,在電腦英雄的變化更豐富的情況下,會更吃電腦的資源。我們團隊的工程師:RiotAaronMike 和 RiotWooTang 替我們的程式做了很棒的優化,所以我們可以在不影響伺服器負擔的情況下更新這些變動。
減少電腦英雄掃描環境與反應的頻率,也是一個可以提升電腦英雄的能力並讓他們更像真人的好機會。現在初階電腦的掃描頻率大約是之前的三分之一,而中階電腦的掃描頻率根據所受的威脅大約落在以前的 50%~100%。當然,即使是這樣設定,對我們來說也絕對不算「慢」,但現在的電腦英雄已經不像以前那樣有超乎常人的反應速度了。
這篇日誌提到的變動以及其他更多沒搬到檯面上來的變動,都創造了讓我們覺得更像真人的電腦英雄。他們當然不像鑽石階級這麼威猛(甚至連銀牌階級都不到),因為那不是我們先前想要改動的方向。我們接下來的目標是想讓剛接觸電腦 vs. 玩家模式的召喚師有更好的遊戲體驗,之後我們會釋出更多相關消息,敬請大家拭目以待囉!
 Riot RoamingNumeral
 
電腦英雄的能力已經在剛剛升級了,趕快試著挑戰看看學會閃躲指向技以及被打不會只是瞎逃的電腦英雄吧!如果對升級後的電腦英雄有任何疑問或者是建議,歡迎到【官方論壇】和大家一起討論喔!

沒有留言:

張貼留言