2017年1月2日 星期一

[遊戲設計]環境的配置是如何影響難易度?




原文轉載自:Gamasutra (How an Environment Layout Affects Difficulty? )
原作者:Pete Ellis on December/06/16

以下文章內容,除經另行註明,係由Gamasutra社群的成員所著。

其中表達的想法與意見為該作者所有,並不代表Gamasutra及其母公司。




  我最近在歐洲2016GDC和幾個設計師夥伴 Mike Barclay和Sam Howels講了一場主題為「製造衝突:3A級動作遊戲的戰鬥設計」的演講。這場演講可以在GDC Vault觀看(雖然現在只有會員可以看),但我認為應該將我的部份在文章中分享出來,這樣才可以快速地索引而不是在整段影片中找來找去。
  我接下來要探討的是,我們是如何打造關卡的幾何配置,並考量到遭遇戰鬥時的當下環境是如何透露出難易程度。我們都知道調整難易度時,標準也最基本的方式就是增加和分配不同的敵人種類。這些都是巨觀的調整;大幅提升難易度,讓玩家感受到檔次明顯不同。那麼不要翻天覆地,反而以微觀方式調整難易度的方法呢?你要如何不仰賴AI數量或敵人種類來平衡難度;特別是當你的劇情限制了敵人的種類時?




  這可以透過利用環境影響AI的行為以及玩家和它們作戰的方式來達成。當玩家的技巧越來越熟練時這能幫助我們隨之提高難度,並讓挑戰性更加貼近玩家的技巧,以此確保關卡不會在新的敵人種類出現以前變得太陳腔爛調。

  這是經由經典的設計口號「型隨機能」(Form Follows Function)而成;也就是建築或物體的樣貌應該主要是為了某項想達成的機能或目標。在我們的例子中就是關卡在幾何上的排列需要支援並影響AI行為,而不同的排列方式會形成不同的結果。在這篇文章中我會談到:
  -該如何打造環境來鼓勵或抑制移動,以及移動是如何影響難易度
  -如何不手動改變AI行為模式,僅靠藉由操弄掩蔽物來影響難易度
  -場地的擺設是如何影響敵人的站位,以及這對於挑戰性有什麼意義
該如何打造環境來鼓勵或抑制移動,以及移動是如何影響難易度


  首先,我們為什麼會想要影響敵人的移動嗎?簡單來說「移動的敵人更難打中」。在我們提到的例子中,要擊中站著不動的敵人遠比要打中到處亂跑的敵人要簡單得多。抑制敵人的移動有助於營造出較簡單的戰鬥,像是遊戲初盤玩家還在熟悉遊戲機制的時候。同時,讓敵人能自在地亂跑代表玩家有更多的挑戰要去克服,像是在故事性上你想要讓玩家有毫無招架之力的感受時可使用。
  那為什麼我們不直接手動限制AI來防止它們移動?嗯,最好不要這樣做,否則這怪異的行為模式會抵觸玩家已經熟悉的經驗;不去破壞AI的行為模式是很重要的,如此一來玩家才能輕易判讀並計劃如何反擊。
(玩家丟了一個物品,左邊的敵人會看向物品的落點,右邊敵人會看向物品的拋出點)
  舉例來說,如果你設計了一個塞了敵人的掩蔽空間,或許這些人是用來防禦出入口的,又或著你不想要玩家能夠不驚動任何人的情況下離開這裡,但這些敵人又無法離開這塊空間,那麼就會有混淆玩家對戰鬥機制的認知的風險。如果玩家擁有「去那裡」的機制,像是丟石頭或是其他東西好讓敵人去調查,或甚至如果NPC會去調查他們認為敵人所在之處的話,而AI又沒有做出相應的舉動時,那就會破壞遊戲運作的模式(以及任何機制本身的功用)。
(兩個敵人都有預期的行為模式,但被限制在紅色區域內無法移動)

  這種情況會讓玩家覺得被耍了,極端的狀況就是AI沒辦法逃離手榴彈或其他危險的區域,因而打破了人工「智慧」的幻象。

  所以我們該如何利用環境來限制或提倡移動呢?我們必須根據使用的AI類別來安排環境。舉例來說,殺戮地帶(Killzone)裡的突擊步兵(Assault Trooper),在進入戰鬥狀態時會在掩體之間移動,而且他們只會挑某個在最遠距離之內的位置。他們也會和玩家保持一定距離進行中距戰鬥。因為和短距離的散彈槍兵或遠距離的狙擊手相比,他們的兵種特性就是如此。他們只有在玩家靠得夠近時才會進行肉搏戰,有機會的話他們永遠會試著跑到中距離的掩體後面。所以,如果你想要敵人能流暢地移動的話,你應該在他們的移動範圍內擺放掩體。



  如果你想扼止移動的話,你就不要在這一帶擺放掩體,如此一來士兵除了據守一方之外就沒有其他選項了。然而,當玩家不論是靠近到肉搏的距離或是丟了一顆手榴彈來移動敵人,他們還是要遵照正常的行為標準移動,如此一來才不會打破行為模式。關卡的編排和掩體的擺放會受到你遊戲AI的寫法影響。

  另一個扼止玩家和敵人移動和推進的方式是利用「無人地帶」。這是個沒有任何掩體的開放區域,所以玩家和敵人要穿越這裡時會很危險,因為這區域完全開放且容易瞄準。

  心理因素讓人們在這樣的區域被清光且安全之前不會冒險穿越。對那些使用掩體的AI敵人種類來說,這些無人地帶會比它們掩體間的移動距離還要遠。這是一個不用特意限制玩家或以很顯而易見的手法來阻止玩家前進的方式。舉例來說,在殺戮地帶:傭兵(Killzone:Mercenary)開場的第一場戰鬥中,玩家立即性的任務是戰場後方可攀爬的管線。為了要防止玩家一路往前衝,我設計了一個小型的無人地帶在玩家或敵人的對峙線中間。這塊區域的距離比突擊兵會尋找新掩體的長度還要遠,而且這誘使玩家在擊倒敵人前得待在一開始的掩護處。這是為了確保玩家在戰鬥結束後面向敵人後方的管線,因為這是教學模式的下一步。

  突擊兵的移動因為沒有任何從側翼進攻的方式而受限,也確保這對於剛開始玩的玩家會是場簡單的戰鬥。如果我們根據他們移動距離計算的範圍內放置路線和掩體的話,這就會鼓勵突擊兵們更頻繁地移動(因此比一個不動的目標更難瞄準),並且往更有利於他們的位置前進,然後玩家就有可能遭到意料之外的攻擊。如果敵人能靠近玩家的話就代表他們的準度和傷害都會提高(當然要看他們拿什麼武器)。
  讓敵人有辦法從側翼攻擊會比讓他們站著不動還要難對付。更進一步,讓敵人有辦法對玩家「縱射」就更難搞了。縱射是個軍事用語,代表的意思是從敵人沒有掩體、暴露出來且脆弱的側翼進行攻擊。如果這發生在玩家身上,會讓他們必須從現在的地方移動到安全的位置進行防禦。玩家們通常會衝到一個不一定在他們計劃內的新位置,而這情況會讓人很緊張,受到攻擊的同時沒有防備會讓情勢變得非常艱難。鼓勵玩家四處跑好讓他們不會整場戰鬥都在同一個位置是件好事,否則他們會覺得一直在做重覆的事。將角色反轉,讓玩家有個側翼進攻路線讓他們對敵人進行縱射可以讓玩家覺得相對輕鬆;當你能夠在敵人無法防禦時幹掉他們會讓遊戲變得容易且令人滿足。

如何不手動改變AI行為模式,僅靠藉由操弄掩蔽物來影響難易度

  在考量掩體以及其型體背後的基本概念之一就是「知識就是力量」。如果你身為一個玩家,知道敵人的位置和動靜,那你就擁有優勢。例如,只提供低掩體能讓玩家在環境中追蹤敵人,因為通常敵人在掩體間移動時必須站起身來。



  在戰爭機器(Gears of War)前期的某段,當敵人從戰場側邊湧入時,他們是從低掩體為主的地方靠近。這讓玩家可以在敵人前往掩體位置時能追蹤他們。玩家會知道所有的敵人最後的位置,然後就可以制定相應的計策來進攻 -- 知識就是力量。
  當敵人在低掩體後方移動時,他們的高度很容易讓玩家能看到頭的上半部,這代表當敵人在掩體後移動至新位置時玩家還是能追蹤這些行動。這也代表玩家不會陷入不知道敵人位置的狀況,因此就不會受到側翼攻擊或受到突襲。當玩家利用低掩體時(不論是第三人稱或第一人稱),他們都可以看到敵人的頂端並從安全的地方追蹤他們(依照你遊戲的機制,也可能是隱蔽的地方)。

  低掩體對於瞄準敵人來說比較困難,因為通常敵人在攻擊時暴露出的身體部份較少。不論他們是從低掩體中窺視或盲射,或如果他們站起來想瞄得準一點,他們最多只會露出半截身體,因為下半身被掩體擋住了。好處就是這代表戰鬥不會太難,因為這個玩家會瞄準的部位包含了頭部,而頭部在傳統上是目標身體會被「一發斃命」的地方。



  另一方面,高掩體不會對玩家顯露任何敵人;你無法看到他們頭的移動,因為高掩體會遮住全身。這代表玩家要嘛得移動到另一個區域以獲得更好的視野,要嘛等敵人試著攻擊玩家時而從掩體中顯露自己的位置。這樣本質上會變得更危險,因為這代表敵人在開火時玩家得冒著暴露自己的風險射擊敵人。然而,和低掩體相比,高掩體後的敵人探出來時會秀出整個側身;或著是他們完全站出掩體時會秀出全身,這會比只露出一個頭還要來得好瞄。這裡的平衡點是,雖然敵人沒在攻擊時是躲起來的,但當他們攻擊時他們是全身暴露在外而且是個較大的目標。高掩體做為一個阻擋視線的物體,對那些不需要掩體的敵人種類有利,因為他們在後面移動時不會遭到攻擊而且玩家有可能會跟丟。



  這些考量也適用在玩家身上,以及我們可以如何疊加這些效果;舉個例,城垛是藉由緊連著高掩體的低掩體結合而成,它的功能是為玩家提供了更具保護能力且安全的掩體組合。玩家們不用從高掩體中走出來露出全身,也不用僅靠著無法保護全身的低掩體 -- 特別是第一人稱射擊遊戲。

  玩家的高度也會影響敵人從掩體中露出多少部位;往下射敵人會因為高度優勢而看到更多敵人部位,讓他們變得更容易瞄準。另外,往上攻擊的敵人能打到玩家的地方越少。在高處,玩家可以看到並瞭解戰場配置;若玩家看到得越多他們就有越多的戰鬥優勢 -- 又回到「知識就是力量」。

場地的擺設是如何影響敵人的站位,以及這對於挑戰性有什麼意義

  就像在戰鬥中眼睛被戳一樣,敵人配置的基本概念之一就是「你看不到,就打不到」。所以在遊戲中失去敵人的蹤跡代表你沒辦法射他們和擊倒他們。
  在環境中放置阻擋視線的東西不僅僅代表玩家要花費更大心力來追蹤敵人,也同時避免複數敵人的行蹤被同時把握。敵人可以更輕易靠近玩家(所以你對他們來說是更容易擊中的目標),或走到對他們更有利的定點讓玩家變得更難應付他們,例如側翼攻擊。



  在最後生還者(The Last of Us)中,在匹茲堡被獵人偷襲後,會有個敵人從視野中間的店門口從右跑到左。這個敵人是拿著一塊木板的近戰類型,並且會嘗試靠近玩家來攻擊。在左手邊的車和柱子高掩體,以及窗戶上那些阻擋視野的東西會阻礙玩家追蹤敵人,讓他能靠近玩家並進行側翼攻擊。

  在此同時,玩家正忙著射那些躲在低掩體後但可以看得到的敵人,就算玩家有雷達,在這遊戲中是「能發現敵人位置的聽力機制」,阻擋視線的物體會防礙玩家射擊那些敵人以阻止他們靠近。
  如果阻擋視線的物體是以漏斗狀地將敵人引至阻塞點的話,那這在站位上會非常容易。想像一下一個走道上,即便你放置了較難應付的掩體;就是先前提到的高低混合掩體來讓敵人的現形程度降到最低,這對於「瞄準移動物」來說還是容易。因為玩家在這個瞄準窗口中可以看到所有東西,而且不需要大幅移動準心就可以打敗敵人。

  在開發殺戮時刻:傭兵時我們並不想打造一個走道式的戰鬥場景,所以我們考慮了射擊範圍。想想看,如果你身處在一個中間有牆擋著(阻擋視線物體)的情況,敵人會因此分頭行動,或是敵人重生點位於每扇門之後(如下圖),導致你的射擊範圍被比一個螢幕還寬的距離隔開,這會讓捕捉敵人變得很困難,因為玩家要分散注意力並在兩邊的戰鬥中找尋平衡,使得「沒看到」的敵人達成他們的目的,像是不受阻礙地射爆你,或是在你不知情之下接近你。敵人甚至可以一起改變位置,所以當你轉頭時,你會發現那裡空無一物,既然你不理會原本可以看到並正在對付的敵人而轉頭卻撲了個空,這就導致你在兩個可能肆無忌憚地攻擊你的敵人之間舉棋不定。

  除此之外,如果畫面外的敵人是站在高處的話,那情況會變得更棘手。那最艱困的狀況是什麼?如果你想讓人討厭的話就在玩家身後生出敵人吧!但做這件事時要十分謹慎,因為這會讓人感覺不公平。總結來說,射擊範圍越寬的話難度就越高。

總結 - 灰盒範例

  為了總結,我們可以將所有文內提到的東西設定在一個簡單的戰鬥場地中檢視。
  如果你的故事中希望玩家去追獵一隊敵人並佔有優勢、對他們發動一波奇襲的話,你可以結合這些要素:

  -限制敵人移動的選項,如此一來他們就不太會移動,因此更好瞄準。



  -在敵人區域的周圍放置一塊無人地帶來阻止他們移動
-

  -讓玩家能對敵人進行縱射


  -藉由較窄的射擊範圍來讓玩家追蹤並瞄準所有敵人,同時不會跟丟他們。




  -將敵人位置放低,如此玩家可以往下射擊並看到更多暴露出來的部位




  -將阻擋視線物體放在有利於玩家的地方讓玩家可以「消失」並打斷敵人的視線。




  -只在場地後方(以戰場觀點來看)放置一個重生點,這樣敵人在進入環境時能被追蹤到



  而最棒的是,不管你做了什麼讓玩家覺得容易的事,你都可以反過來做讓玩家覺得困難。例如一個困難的情況會是:
  -讓敵人有多重路徑選擇,讓他們更能被瞄準
  -在玩家周圍放置無人地帶,讓他們不敢行動
  -讓敵人能縱射玩家,強迫玩家闖入無人地帶
  -在地圖上的相反方向放置多個重生點,每一個都要在另一個的畫面之外
  -放置多個射擊範圍代表玩家要在多個專注點上尋求平衡
  -讓敵人相對玩家有高度優勢
  -將視線阻擋物體放置在會阻礙觀察敵人的地方,讓他們消失。


翻譯:XDorz87
校訂:MilkReaver