2018-09-06 09:15:59來源:GameRes游資網編輯:誠
文/何歡 專欄:https://zhuanlan.zhihu.com/GameDesignThings
首先確定一下本文NPC AI的討論范圍:范圍包括絕大多數游戲中的角色,例如馬里奧里的鴨子、RPG中的劇情NPC,動作游戲中的各種敵人等。討論的是設計要素,而非算法相關的內容。其次快速說一下常見的AI設計錯誤,即對AI的錯誤的評判和錯誤的設計方法:錯誤的評判是有些人覺得AI越聰明越好,越像人越好,越復雜越好;錯誤的設計方法是覺得AI功能要足夠強大,最好能參考其他各種好的游戲里的AI,把它們的功能全部都實現,并結合起來整合到自己的游戲中。
既然那些是錯誤的,那怎樣的AI才是好的AI?答案很簡單:能加強游戲核心體驗的AI是好的AI,可具體怎么做呢?下面就根據常見的游戲核心體驗的幾個類型(列舉了四個),來探討不同體驗要求下,AI設計的側重點是什么,以及該怎么做。從簡單的類型說起。
第一類,給予玩家智力挑戰的游戲,例如棋牌、戰棋、卡牌類游戲。
很多人覺得這類游戲AI的關鍵就是AI要強,要厲害,能打敗玩家。AI強確實重要,決定了游戲難度(挑戰性)的極限,但這類游戲也應同樣注重“其他維度”的展現,這樣可以AI變得更人性化(NPC),而不是冷冰冰的教學機器,游戲也會更“好玩”。例如有些棋類游戲中的AI有“棋風”維度,有的角色偏進攻,有的偏保守;有些牌類游戲AI會說話,展現出不同人物的性格;還有的游戲通過“福利”來鼓勵玩家不斷挑戰,并展開劇情。
第二類,體現玩家PvP競技水平的游戲,例如RTS,MOBA等游戲。
這里指的NPC是游戲中的怪物,例如《魔獸爭霸》中的中立石頭人、《英雄聯盟》中的野怪。這些NPC的主要作用并不是殺死玩家,或者展現出AI有多么的智能;它們存在的目的,主要有兩個:一是為了給玩家提供選擇,給游戲增加策略深度,例如是刷怪練級還是騷擾對方基地、是打野還是抓人、是組團打龍還是推塔上高地,都是風險與機會并存,給玩家提供的戰略選擇,這種情況下設計重點在于游戲策略平衡的建設;二是調整游戲節奏,讓游戲不至于顯得單一和無聊,例如《魔獸爭霸》的節奏和趣味性略高于《星際爭霸》,這種情況下設計重點在于PvE時長的控制,不要喧賓奪主脫離PvP的主要玩法,否則游戲可能變成塔防或個人生存類游戲。
第三類,比較注重故事劇情的游戲,例如RPG和部分動作類游戲。
這類游戲中NPC AI的設計,關鍵不在于他們的技能,而在于人物設定,即人物背景以及行為的設計。以下進一步分類說明。
故事類NPC的人物背景設計,大致有三個要素,或者說“技巧”:
1. 故事中人物個性層面的多維度劃分,盡量讓每個角色獨特有個性。這劃分不僅限于善惡維度,可以使用的還有:內向/外向、固執/開放、理性/感性、思考/直覺等。這也是很多電影故事創作中的常用手法,例如《星球大戰》。
2. 如果要設定的人物是惡人,那如果能套上以下兩種類型特征,人物會更有深度。一種是讓惡人有悲慘背景故事,往往曾經是好人,后因故變壞,例如《魔獸爭霸》中的阿瑟斯、《尼爾機械紀元》中的歌劇院Boss;另一種是讓他代表純粹的惡,是玩家的完全相反面,強大且通常無法被打敗,一般代表著黑暗的世界背景、人性的陰暗面之類,例如二戰游戲中的希特勒,蝙蝠俠里的小丑,指環王中的索倫之眼等。
3. 與玩家內心潛意識有關聯的人物。例如寂靜嶺中的三角頭怪,象征著主角的暴力傾向和內心的殘酷,是主角想要接受懲罰的潛意識的具象化怪物。很多射擊類游戲中的僵尸受玩家歡迎,一方面是因為僵尸代表了腐化了的世界,已經無可救藥,而且玩家怕被傳染也被腐化;另一方面僵尸是人形怪,玩家潛意識里,殺死它們會有像殺死真人那樣的成就感,而且沒有像殺普通人那樣的負罪感。
故事類NPC的行為,大致也有三個要素,能讓他們顯得“智商上線”:
1. 他要能和場景元素交互。例如《模擬人生》中的人會自動坐到椅子上,躺到床上;《塞爾達曠野之息》里的小怪在打林克時會自動先去撿武器等。
2. 他有自己的個人目標,并不一定非要是“殺死玩家”或“幫助玩家完成任務”,這樣顯得更真實。例如《魔獸世界》里的很多NPC,都有自己的理想和使命。
3. 他能跟玩家交互,幫玩家做事。例如跟玩家做朋友、當玩家的伙伴、教玩家技能、自動幫玩家拍照留念(《最終幻想15》)等。
第四類,注重玩家技能展現的游戲,例如動作、射擊、解密類游戲。
這類游戲中NPC AI的設計,同樣分為“角色定位”和“角色行為”兩個考慮方面。
在“角色定位”方面,跟故事NPC按照性格劃分維度不同,這類動作游戲中的NPC的設定,需要按照“怪物特性維度”或“考驗玩家能力”的維度進行劃分。例如《Doom》中的怪物,有遠程有近戰,傷害有高有低,血量也有多有少,特性不重復,怪物類型也不多,便于玩家記憶掌握,感覺就不錯。《Tom Clancy’s The Division》中的NPC,根據考察玩家不同能力進行設計,有的考察射擊準度,有的考察走位,有的考察選敵順序,有的考察躲避,有的考察耐心。
在“角色行為”方面,要能夠加強玩家“學習-使用-成功-獎勵”循環的感受,讓游戲吸引住玩家,不斷的往下玩。大致有三個設計要素。
1. 對于“自發行為”(不受玩家影響的行為),要足夠簡單和顯而易見,對于不得不復雜的行為,要么做到能循序漸進的表達,要么拆散成兩種不同的NPC,這讓玩家能很方便的了解他的行為模式,以便想出有效的對策。例如大多彈幕射擊游戲中的敵方飛機和Boss,行為簡單有規律,玩家就算挑戰失敗了,也很容易吸取教訓,下次會打得更好。馬里奧中的怪物也都是如此,而且他們的行為決定了他們的外觀。
2. 對于“反饋行為”(由玩家行為導致的行為),要做到及時明顯、易于理解。例如FPS游戲中玩家往NPC扔手榴彈,NPC可以及時響應并撲開躲閃;而NPC被擊中后嚎叫、招呼隊友攻擊、包抄、預備放大招等行為,重點也不在于能如何精妙的殺死玩家(如果玩家被莫名殺死反而會覺得AI作弊),而在于能讓玩家明確的看到這些行為(演戲一樣),能快速理解行為的原因,并讓玩家能看透行為背后的邏輯,以便利用這些邏輯,更好的打敗這些NPC。當然,如果能讓他們的行為既能讓玩家理解,又顯得很聰明精妙的話(例如換做玩家會采取同樣措施的行為,或一些群體表現),那自然是錦上添花了。
3. 把控好難度,保持玩家在舒適區間。游戲的整體難度,往往是逐步曲折的上升的,前期給玩家試錯空間,中期給玩家學習和成長,后期給玩家挑戰和成就。而對于Boss NPC,一般會設計分階段的行為,以展現Boss的獨特性并增加玩家獲勝時的成就感。但有一點注意,即Boss不同階段的難度,并不像整體關卡那樣逐步遞增的,而是中后段最難,最后段反而簡單,發揮穩定就可獲勝,這樣做可以降低玩家后期失敗時的挫敗感,而且即使失敗也只會責怪自己而不會抱怨游戲。