2015年7月10日 星期五

[理論基礎]GDC2015 - 捲回過往:橫向捲軸運鏡的理論和實作

譯者前言:這篇其實在5/28時就已經有Johnson Lin大大在IGDShare上有翻譯一版出來了,但當時我也翻到快收尾了,所以想說都翻這這種程度了就把它翻完吧。也感謝Johnson大大提醒了我哪些地方原作者有修改過,所以我決定敬遠XD。
另外,因為Blogger的編輯功能非常陽春,而我真的很懶得去調整HTML的東西,所以想要看較舒服的排版的話麻煩點這

以下正文開始

原作者:Itay Keren 05/07/2015



橫向捲軸遊戲鏡頭應用的理論和實作

Itay Keren所著,Untame工作室的擁有者,即將發行的遊戲Mushroom 11的創作者

[這篇文章是我在GDC2015的獨立遊戲高峰會一場演說的修改版。它涵蓋了一些2D橫向捲軸的背景故事,以及大量的經典懷舊遊戲。希望你覺得這個有用又有趣!]

大綱


概述
捲動
神經系統的背景知識
注意力、互動、舒適
懷舊回顧
跟著跑
限制式攝影機動作
貼齊式
滑動式
框架式
方向式
多焦點式攝影機
手動控制
攝影機搖晃
自定義式攝影機
Mushroom 11
詞彙表

概述


  


  當在製作我的遊戲Muchroom11時,我在設計和技術上面臨了許多不同的的挑戰。我當時並不指望可以找到幾何動態形變或幾何頂點動畫這類題材的相關資料,但我很意外地發現運鏡這個在遊戲中有30年歷史的議題,竟然沒有什麼人在討論。

  我決定展開一段穿越2D遊戲歷史、紀錄它們曾經遇過的難關和處理手法,以及它們的解決之道是如何演變的旅程。此外,既然有這麼多解決辦法是現有專業詞語難以涵蓋的,我開始蒐集並且將它們分成不同的群組,再由我定義字彙,至少這些可以拿來當作個人參考用途。


捲動

  捲動(Scrolling)或平(Panning)代表的是任何試著要去顯示一個大於單一螢幕之場景的作法。在捲動中有很多種潛在的難題,像是決定玩家必須看到什麼、像我們設計師想要玩家專注在何處、以及要怎麼做才能讓玩家們感到流暢及舒適。
  雖然我的主軸放在2D攝影機系統上,但很多這些通用的概念同樣也可以應用在3D上。

神經系統的背景知識


  在我們開始檢視這些遊戲之前,讓我們先接觸一下與捲動相關的神經系統背景知識,這樣我們才能更瞭解我們的視覺和感知。如此一來我們就能知道在捲動上會出現怎樣的錯。


   
  中心小窩(Fovea-centralis)是我們眼球內的感受器(Receptor),它負責的是既清晰又詳細的中央視覺(Central Vision)。第二和第三個感受帶(Receptor belt)被稱為中央小窩外圍(parafovea)和中央小窩周圍(perifovea),它們專精於將影像及動態壓縮為能夠被快速辨別的模式,其中包含辨識那些我們所熟識且警覺的圖像,及其在速度和方向上的動態改變。 

  被輸入的視覺會利用快速的管道直達杏仁體(Amygdala),使我們在視覺皮層(Visual Cortex)還在解譯資訊時就能先做出警覺性的反應。訓練你的大腦,特別是在周遭視力(Peripheral vision)有所改變時結合你的控制力,這被證明是可以經由時間訓練而有所成效的。

  前庭系統(Vestibular System)位於我們的內耳,它負責的是維持平衡和提供空間感。它所發出的訊號讓我們身體保持平衡的同時,能夠維持我們的視覺專注在特定的細節上。
  當某些人—像是我—試著在車裡面閱讀時,加速度再加上缺乏相應的視覺回饋會導致噁心和暈眩。

  相反的狀況也是成立的:當中央小窩周圍快速地對背景的改變有所反應時,它會預期前庭系統也有相對應的回饋。當這個回饋不存在時(因為你正直挺挺地坐在電腦前),就會有一樣噁心和暈眩的結果。

  所以說,感官訊號(視覺和前庭)的衝突可能會導致不舒適和噁心,雖然這在3D(特別是虛擬實境)中的情況較為嚴重,但這同樣地也會影響到2D類別的遊戲。

注意力、互動、舒適


為了要更加瞭解橫向捲軸中的問題,我將其中的元素分為三大類的難題:

image
注意力:利用鏡頭來提供遊戲中足夠的資訊和回饋(玩家需要看到什麼)

互動:提供玩家對畫面上顯示的東西有明確的操控,讓背景的變動可以預期並且緊密地和操控結合(玩家想要看到什麼)

舒適:使背景變動和緩且有脈絡可循(要如何讓那些需求流暢且舒適地調和在一起)

懷舊回顧



  讓我們的旅程回到1980年代吧,當時設計師們克服了30年後的我們完全無法想像的技術限制,發明了全新的設計構想。你同時也會注意到我們有參考數個榜上有名的獨立開發遊戲,大多數是近十年的作品,這些遊戲傾向於展現我們能夠從獨立藝術家身上所預期的創新、關注與關懷,當然在鏡頭的功夫上也沒有例外。

跟著跑(Follow the Action)


在你控制的物件上保持注意力

  從基礎開始。大致上來說,你的玩家擁有控制主要角色的權力。這使得注意力應該要直接用攝影機緊密地跟隨在那個角色上。

  在80年代的早期,捲動是個很困難的任務,開發者同時要去處理像是CPU及RAM的容量和分割的限制。縱使有這些難關,一些很棒的橫向捲軸遊戲仍然發行上市,且優雅地克服了這些限制。然而,在很多案例中的動作是可以想見地簡單或是低解析度。

  在1980年代,像迷魂車X(Rally-X)這樣可以克服科技上的限制並且展示了真正的雙軸線攝影機的遊戲是很出色的。它採用了預設的固定位置機制,讓車子永遠保持在焦點上並且攝影機的動向是完全可預測的。

Rally-X © 1980 Namco

固定位置(Position-Locking) —攝影機是被鎖定在玩家的位置上。
註記:在這個演講中出現的詞彙都是我自己創來好做參考及工作用的,但如果其他人覺得這些東西好用,做了些改良,然後給我些意見的話我會很高興的。

  功夫大師(Kung-Fu Master)是另一個很好的固定位置的例子,這是由西山隆志(Takashi Nishiyama)所設計的,他製作了月球巡邏(Moon Patrol)後也做了快打旋風(Street Figher)。

  這個遊戲運用了另一個我稱其為邊緣貼齊的簡單機制,也就是單純的將攝影機貼齊到關卡的邊緣,讓角色能夠從自身的錨點離開。

Kung-Fu Master © 1984 Irem

固定位置
邊緣貼齊(Edge-Snapping)設定一個固定的邊邊讓攝影機能定位]
*邊緣貼齊在其他各別遊戲中太普遍了,從現在開始我會略過不提。

  固定位置雖然簡單但仍然非常有用。對於像是Terraria這樣的積木冒險遊戲來說,有一個相對於畫面顯得迷你且跳來跳去的角色,這樣的做法滿好的,它在每個方向都提供了很多的視覺空間。

Terraria © 2011 Re-Logic

固定位置

限制式攝影機動作(Curb Camera Motion)


避免不必要或無法預期的碰撞

  如果絕非必要的話我們要怎麼避免去移動攝影機呢?30年之前,捲動有幾個問題:它CPU的資源吃得很兇,因為需要在螢幕上刷新絕大部分的區域。而就算成功地捲動了,當時那很大一塊的像素讓捲動時會卡卡的。最佳的解法就是保持一個必要的最小捲動值。其中一個方法是允許玩家在一個框框裡移動,只有當碰到框框的邊邊時才會捲動。

  跳跳飛車(Jump Bug)被許多人認為是第一個平台遊戲(Platformer),雖然技術上來說玩家一直在反覆自動跳躍,而且操控也被限制在跳躍的高度和左右移動。這遊戲大多數的時間是以自動移動的攝影機為主,強迫玩家跟上的同時要避開障礙物,就像那個年代許多的捲軸遊戲一樣。

Jump Bug © 1981 Hoei/Coreland (Alpha Denshi)


攝影機框框(Camera-Window)—當玩家碰到框框的邊邊時才推移攝影機的位置

  但是被用在最後一關的攝影機框框技術,解決了一個許多設計者甚至都沒有注意到其存在的問題,並且為之後成千上萬個平台遊戲立下了標準。攝影機框框技術同時帶來了許多問題,像是在玩家往出口邁進時,幾乎看不見前方或上面有什麼迎面而來的東西。

 另一個我很愛的遊戲,王者之劍(Rastan Saga),引進了雙線軸和多條路線的做法。這也是其中幾款率先在攝影機和遊戲機制上有建立起關係的遊戲。這個攝影機框框和一般的跳躍差不多高,所以除非Rastan(註:遊戲主角)已在框框內有所位移,否則他跳躍時不會造成攝影機垂直方向的移動。這樣就消除了快速拉動攝影機的需求。

  這個方法的一大缺點就是很難查覺從上方過來的敵人,特別是在Rastan已經在框框內垂直移動時。同時向左走也會有這樣的狀況,這個在城堡關卡中很常碰到,這真的讓人感到很不舒適,因為它只留了非常窄的預視空間。

Rastan Saga © 1987 Taito

攝影機框框


  攝影機框框技術仍然被現代的遊戲中所使用。看看Fez是如何做的,水平的攝影機框框在維度轉換時會保持不變,而實際上,轉換時被選定的軸線會讓角色仍然在框框裡。Fez中攝影機框框的選擇絕非預設型,其代表著這種獨特遊戲機制的理想攝影機解法,我們在之後會展示給大家看。垂直方面,攝影機保留了很直截了當的固定位置做法,漂亮地使用了線性插值滑動法(Lerp-Smoothing),我們在之後會對次進行說明。

Fez © 2012 Polytron Corporation

攝影機框框(水平)*
*在維度轉換時也會實行
固定位置(垂直)
線性插值滑動法
區塊基準錨點
手動控制*
*右蘑菇頭提供額外的平移
註記:灰色的詞彙代表的是文章之後會定義的攝影機技巧。

貼齊式(Snapping)

在框框內的固定式偏移

  我們展示了利用攝影機框框來減少攝影機的移動,但是我們在跳跳飛車和王者之劍中看到了玩家在框框內移動時的些許缺陷。這裡有幾個方法可以修正。

  可說是我最愛的經典遊戲,(Shinobi),裡面有在多個平台間進行的大跳躍。設計師想出了一個獨特的攝影機系統:因為在垂直面上玩家要在許多平台上來回跳躍,利用了垂直方向上非常寬(或高)的攝影機框框。一如往常,框框會馬上帶動攝影機。寬(或高)式框框的問題在於小跳躍後角色可能會被卡在框框的最頂,導致上方的視野只剩下一咪咪,如同我們在王者之劍中看到的那樣。單純地持續將攝影機對齊,緩慢地,往忍者方向移動,將焦點(Focus)保持在動作發生處,而且同時讓快速的鏡頭動作維持在最小程度。

Shinobi © 1987 Sega

位置貼齊(垂直)
  • 利用將攝影機回到玩家身上來持續性地減低框框的移動
攝影機框框(垂直)
固定位置(水平)
單向前方焦點



  超級瑪莉歐世界(Super Mario World)所帶來的眾多特色之一就是平台貼齊(Platform-Snapping)。如同任何一個攝影機框框一樣,攝影機會保持不動直到角色碰撞到邊緣。但因為瑪莉歐必然會踩到一個平台上,只要他一踩到,攝影機就會馬上貼齊到他的位置。

Super Mario World © 1990 Nintendo

區塊基準錨點
平台貼齊* -
攝影機只有要玩家踩到一個平台上時才會貼齊玩家
攝影機框框*(垂直)
*可適用時
雙向前方焦點*
*在界限時觸發
手動控制*(水平)
*控制器提供額外的平移


(這是我們提到的第一個宮本茂(Shigeru Miyamoto)的遊戲,而且不會是最後一個。能夠察覺並且關注在最小的細節才會使人成為真正的偉大設計師,而不是只要做出聰明的遊戲機制就好。)

  你可以在第一代的雷射超人(Rayman)中看到相同的想法。螢幕的最上端就是攝影機框框的最頂。注意一下攝影機不會在雷曼(註:遊戲主角)跳的時候有所移動,而是當他著地時和緩地貼齊。這是一個聰明的做法,因為攝影機框框只會比雷曼的跳躍高一點,這裡再次展示了攝影機系統整合於遊戲設計中的方式。

Rayman © 1995 Ubisoft

平台貼齊*
攝影機框框(垂直)*
區塊基準錨點
雙向前方焦點*
線性插值滑動法


*當有需要時



  這個技術在現今也是十分有用,讓設計師能在跳躍時保持攝影機的平順,而且只在跳躍結束或是它推動了攝影機框框時才會將攝影機置中。注意到平台貼齊一般來說只有在玩家可以著陸於平台上時才會作用。在另一個案例中,像是王牌英雄(Awesomenauts)的噴射背包角色,玩家只會和垂直的攝影機框框相對應。

Awesomenauts © 2012 Ronimo Games

攝影機框框(垂直)
平台貼齊
固定位置(水平)


滑動式(Smoothing)

避免攝影機速度和方向突然改變

  我們之前有聊過了周遭視力的角色,以及它在視覺舒適上的影響。在古早時代,當時那種大顆的像素,就算是簡單的補間動畫也會因為大顆像素而看起來跳跳的。



80年代的像素
(任天堂紅白機 256x240解析度)

獨立像素
(包含了多個螢幕像素)

  所以當我們被限制在非常嚴格且粗糙的大塊像素網格時要如何才能滑動攝影機?在現今,我們可以設計出美麗的像素藝術,然後將其轉移至比像素藝術更細小的真正像素上。而且如果你選擇了避開像素完美(Pixel-Perfect 編註:意指你真的手動一個一個像素去上色),你甚至可以利用大多數現代引擎所提供子像素(Sub-Pixel)的空間。

用(假)物理來滑動

  假物理可以在幫助滑動固定位置的攝影機時派上用場(而且你可以聲稱任何一個引擎的物理實際上都是假的)。

  小精靈探險(Pac-Land)可以說是現代的第一個平台遊戲。它裡面含有許多元素幫助了這個遊戲類型的定義,像是跳到平台上、避開敵人、以及撿起加分物。來看看滑動,它的速度從每張0個像素到1個、2個、3個,再一直到最高速,然後急煞至0。同時攝影機是被鎖定在玩家的位置,這樣的結果就是非常地清楚且滑順。但是小精靈探險不需要垂直捲動,而這才是滑動時真正的難題所在,也就是在跳躍和著陸時快速的加速度和減速度。

Pac-Land © 1984 Namco

固定位置
單向前方焦點

宮本茂

  在這裡我想要和宮本茂先生致意一下以及展示他早期的部份作品。他對產業最寶貴的貢獻以及對遊戲設計最微小細節的關注絕對不是言過其實。

  在1984年,他開始實驗捲動,設計出兩款在捲軸使用上完全不同的遊戲來。在這兩款遊戲中,如果有的話,玩家對捲動也不會有太多掌控性。其實這看起來更像是一個背景會改變的房間。

Excitebike © 1984 Nintendo

Devil World © 1984 Nintendo

(denied release in North America)


  越野機車(Excitebike)有著現代的捲軸動作,會被機車的速度所影響。捲動看起來是夠滑順了,但是對遊戲沒有實質影響。

  惡魔世界(Devil World)的遊戲機制可是全然和捲動有所關連。在這個小精靈(Pac-Man)的複製品中,你扮演的是一個信奉基督教的龍,正在和一個能力被侷限在改變捲動方向來把你推向邊緣的惡魔戰鬥。這也是唯一一個宮本茂被北美洲拒絕發行的遊戲,因為使用了宗教的肖像,但是對比上他幾十年來的成就,這看起來不是什麼巨大的損失。然而,回顧現代的天才早期所製作且通常不是那麼成功的作品是很重要的,而且還有些激勵人心。就算是最偉大的藝術家也會做實驗,通常還會失敗。

  時間往後推一年,不把超級瑪莉兄弟(Super Mario Bros)的輝煌戰績誇耀一番是很難的一件事。遊戲性本身包含了非常單純的由左向右、只有水平方向的做法。同時,它並不允許退回到超出螢幕邊緣的地方,而這是很常見的平台遊戲特性(技術上來說這可以被定義為單向攝影機框框)。

Super Mario Bros. © 1985 Nintendo

加速推移區(Speedup-Push-Zone) -
當在推移區裡時,攝影機逐漸加速以跟上玩家的速度。
攝影機框框*
單向
單向前方焦點


  所以當瑪莉歐退到最邊邊,然後再加速跨過攝影機框框的邊緣時,會在一個幀數中從0加到全速,導致背景速度的巨大改變且會引來無可避免的不舒適感。設計師們經由增設了一個虛擬的點來解決問題,大約在螢幕中央左方1/4處,就是在這裡攝影機的速度會開始跟上瑪莉歐,所以當他碰到框框的邊時,攝影機的速度早就追上來了。

  銀河戰士(Metroid)當時是個震撼彈,它定義了一個新的遊戲類型,結合了平台和探索。(順帶一提,它在這個類型的兄弟作惡魔城(Castlevania)用的是非常基本的固定位置攝影機。)

  銀河戰士使用了多軸漸進,一次只會有一軸作用。它引進了一個不同的方法來緩和攝影機的動作,也就是允許角色走出框框之外,在此同時會讓攝影機加速以跟上。玩家可以越界多少是根據他在撞到線的時候的速度而定,但結果就是順暢的攝影機行為。

Metroid © 1986 Nintendo

攝影機框框(平行或垂直)

加速拉動區(Speedup-Pull-Zone) - 當玩家跨過了框框的邊緣時會拉動攝影機以跟上玩家速度

  科技的進步對攝影機系統有直接性的影響,因為有了更多的像素和茁壯的CPU。這讓攝影機能夠更自由地運作,不再受低像素抖動這樣的攝影機運作特性所影響,特別是在慢動作下每幾幀就會抖一下。

  超級大金鋼(Donkey Kong Country)有許多創新的攝影機解決方案,而且它是第一個使用線性插值(lerp: Linear Interpolation)滑動法的,讓跳躍和前進焦點能順暢地切換(於稍後詳述)。

Donkey Kong Country © 1994 Nintendo (Rare Ltd)

線性插值滑動法 - 利用線性插值來持續性地減少攝影機和玩家之間的距離
固定位置(垂直)
區塊基準錨點
雙向前方焦點

  線性插值聽起來不像是一個很大的成就,而且它在減緩攝影機的不協調上已經成為一項標準的工具,特別是在跳躍時。

float lerp (float a, float b, float t) { return a + t * (b - a); }

  這可能是最有效率及最無所不在的滑動技巧了。它在像是超級肉肉哥(Super Meat Boy)這樣動作有快有慢的角色上運作地非常好。然而像是大型且移動極度快速的角色,會很容易在攝影機追上前就撞到畫面邊緣,導致直到最後一刻還是看不見即將到來的敵人。

Super Meat Boy © 2010 Team Meat

線性插值滑動法
固定位置


  永不孤單(Never Alone)是在2014年發行的一款很美的遊戲,而且擁有我們接下來會提到的數個不同的元素。它的主要滑動技巧考慮到了現有的攝影機速度,也就是它遲點才會有所反應而且會超出它的目標點。這個結果就是流暢又有生命感,但很明顯的對於快速的玩家動作會來不及反應。

Never Alone © 2014 Upper One Games

物理性滑動(Physics--Smoothing)
攝影機是有物理行為的個體,持續性地靠近焦點目標

平均位置(Position-Averaging)
電影式路徑(Cinematic-Paths)
區塊基準錨點
提示焦點(Cue-Focus)



  以程式碼的術語來說,如果線性插值是EaseOut,那物理性滑動就是EaseInOut了。當可以時,去看看SmoothDamp的詳細做法,或者是微調你自己的做法並且將與目標的距離和現在的速率給考慮進去。

  如果你單純地用像素完美來著色的話,你會看到有時候精靈(Sprite 電腦圖形學用語)在和其他精靈或是背景比對時似乎會移動了一個像素,這是因為數學劃分上的不一致性所造成的。
  光明旅者(Hyper Light Drifter)用一個很聰明的手法來讓捲動過程順暢,縱使它用的是低解析度的點陣圖風格。它將遊戲的像素完美給預錄成一個大畫布,然後將這個畫布在像素完美的螢幕上移動,以反映出在經由劃分遊戲像素大小後所剩餘的位置為何。這個遊戲有著許多有趣的攝影機功能,我們之後會談到的。

Hyper Light Drifter © [Release TBA] Heart Machine

物理性滑動*
*遊戲畫布解析度是480x270。攝影機捲動用了完整的解析度
區塊基準錨點
目標焦點
提示焦點
行為焦點(Gesture-Focus)


框架式(Framing)

讓重要的細節保持在畫面裡

  自動捲動已經超出我們這個演說的範圍了,在定義上,它無法提供玩家攝影機捲動行為的控制。然而,它給了我們一個玩家可能會喜歡被放在什麼位置的良好借鏡,它提供了一個我們要留多少空間來預防從前方及後方來的威脅的良好平衡。

Scramble © 1981 Konami

自動捲動 - 玩家沒辦法掌控捲動(但可以全然掌控在畫面中的位置)


  如同我們在小精靈世界中所看過的,如果你將攝影機綁定在玩家身上並提供方向上的控制,你可以將攝影機專注在玩家的前方。這提供了前方視野的充裕空間,且仍然可以注意到後方有什麼,而這也像是註記了你該往哪走的指標,因為我們會很努力地要往畫面中間走。


Pac-Land © 1984 Namco

固定位置
單向前方焦點 - 在原則上會有進度的方向提供額外的視野



  再回到更早之前,早到不能再早,1981初我們看到了保衛者(Defender)的發售,一個射光敵人的遊戲激起了整個全新的遊戲類型。它呈現的雙向前方焦點(Dual-Forward-Focus)的做法幾乎沒有人察覺到。保衛者一直試著將畫面專注在太空船前方一個假想的點,大概在四分之一個螢幕寬的前方。這個系統對於一個節奏快速且大多數的敵人是從前方來的遊戲來說運作地很好。

Defender © 1981 Williams Electronics

雙向前方焦點 -
玩家的方向改變會切換攝影機的焦點讓前方會有更寬的視野


  龍鳯神偷(Bonanza Bros)是個在1990年由Sega在大型機台上推出,令人討喜的橫向捲軸盜竊遊戲。因為遊戲有著獨特的一對一合作模式,要這對兄弟合作無間地完成盜竊任務,所以它有著分割畫面的功能。

  當然,遼闊的前方視野對於一個偷竊的場景來說是必要的,所以使用了雙向前進視野。然而,它用了幾個步驟來讓攝影機跟上新的目標點,這讓整個運作過程感覺格外流暢而且提供了充沛的視野。畫面切換的速度大概是玩家速度的兩倍,這代表的意思是攝影機只有在玩家動的時候才會有動作。看看下圖的紅色場景。

Bonanza Bros. © 1990 Sega

雙向前方焦點*
*焦點的切換是根據走路速度


  下方超級瑪莉歐世界的攝影機技巧是我最愛的2D攝影機技術之一,它將注意力壓倒性地專注在特定的遊戲機制細節上。

Super Mario World © 1990 Nintendo

區塊基準錨點
平台貼齊
攝影機只有要玩家著陸在平台上時才會貼齊
攝影機框框*(垂直)
*當有需要時
雙向前方焦點*
*到界限時觸發
手動控制* (水平)
*手把提供額外的平移



  再一次的,遊戲中有兩個錨點讓玩家不論決定要往哪個方向前進時都會有寬廣的視野。然而,就算玩家開始往回走(這在超級瑪莉歐世界中很常見),攝影機會維持在焦點上直到瑪莉歐碰到了預先設定的界限,而且只有在這時攝影機才會鎖定到另一個錨點上。這在要頻繁切換左右但並不保證是真的要換方向走的超級瑪莉歐世界中極度有用。

  更近期的例子,洞窟物語(Cave Story)利用了雙向前方焦點,以走路的速度為基準緩慢地將焦點從一邊換到另一邊。有點像是我們在龍鳯神偷中所看到的,雖然在這個案例中攝影機一直地在往新的錨點移動,但會隨著玩家的速度而加速。


Cave Story © 2004 Studio Pixel

固定位置(垂直)
雙向前方焦點
物理性滑動
手動控制*
*手把提供了額外的垂直方向平移

  光速兔崽子2 (Jazz Jackrabbit 2)是個Epic Games(編註:最知名的就是虛幻引擎 Unreal Engine)在早期所製作十分漂亮的平台遊戲。它有一個真的很獨特的攝影機要素:它會基於控制器的輸入而將攝影機從玩家身上移開,不管是水平面或是垂直面。

  這對於我稱呼為目標焦點(Target-Focus)的方式來說是個完美的例子,也就是玩家會基於他們的目的或目標,輸入提供攝影機要往哪裡去的提示。當你向左走時,你會想要看到更多左邊的東西。當控制器被放開時,焦點就會回到中心點的玩家身上。

jazzjackrabbit_240_2.gif

Jazz Jackrabbit 2 © 1998 Epic Games

線性插值滑動法(垂直)
目標焦點 - 攝影機會跟隨著控制器的輸入而提供真正的視覺上的前進焦點
*蘑菇頭或方向鍵輸入你想要將焦點推向的方向
[手動控制*]
*手動調整垂直方向是目標焦點法的延伸


  目標焦點可以反映出更多直接視覺上的目標,就像在用游標來控制的遊戲中看到的那樣。在快照(Snapshot)中,你可以用滑鼠捕捉畫面上各元素的快照,然後將它們在別處釋放出來以破解謎題。這個游標本質上就像是你的視野的延伸,而攝影機的焦點就在游標和玩家之間的平均點。


Snapshot © 2012 Retro Affect

目標焦點*
*在玩家和游標之間的平均點
線性插值滑動法

  The Swapper有著我們稍後會討論到的進階版攝影機技術。關於目標焦點,遊戲裡複製機器的目標點被當作玩家視線的代表,而這成為了絕佳的視覺焦點。這個在任何一個有著各別標定的武器或裝置的遊戲上都很合適。玩家如果想要的話甚至可以向後退然後讓視野保持在前方,這提供了多樣豐富的攝影機行為,但也同時需要第二種控制攝影機的方式。

The Swapper © 2013 Facepalm Games

目標焦點
物理性滑動法
區塊基準錨點
提示焦點
電影式路徑

  雷提康之謎(Secrets of Rætikon)有著許多有趣的攝影機特色,但就基本框架來說,它使用了投影式焦點,也就是在角色的位置上及其現有的速度來用簡單的外推法做計算。
  請留意這個技巧可能在平台遊戲上沒法運作得很好,特別是在垂直面上,也就是跳躍和尤其在著陸時,外推法無法準確計。

Secrets of Rætikon © 2014 Broken Rules

投影式焦點 - 攝影機跟隨著玩家位置的投影點(外推得來的)
物理性滑動法
提示焦點*
*位置和縮放是以附近是否有吸引物(Attractor)來決定
行為焦點*
*特定的動作會引發預先設定的攝影機行為,例如飛行時會攝影機會拉遠
電影式路徑

  Luftrausers包含了一些很棒的攝影機功能和非常有趣的焦點組合,也就是結合飛機要面向哪裡(目標焦點),以及它實際上是往哪飛(投影式焦點),還有其它像是水面、戰艦、和亂發的子彈這樣在附近時會吸引攝影機焦點的提示(Cues)(提示焦點,看下圖)。

Luftrausers © 2014 Vlambeer

目標焦點
投影式焦點
物理性滑動法
提示焦點

方向式

設定場景提示、前後關係、和進度



  到目前為止我們看了要如何提供給玩家們一個視野和操控上準確的表現法,還有大體上玩家們想要看到什麼(也就是在我們前面的概念圖表中的互動)。我們也涵蓋了許多不同的方法讓視野看起來舒適和有效(前面提到的舒適)。

  但身為我們遊戲的監製,我們同時也希望能夠將玩家的注意力放在我們認為對他們來說是重要的東西之上,這是為了前後關係、進度、甚至是戲劇性和敘事性。

  神奇男孩(Wonder Boy),另一個我的最愛之一,是個快節奏的平台遊戲,只用了向前進展的老練單向攝影機框框。不像超級瑪莉歐那樣,它並沒有加速區以限制攝影機加速,而是引進了另一個有趣的攝影機技巧,我將之稱為攝影機路徑(Camera-Path)。攝影機會被放置並且移動以提供即將到來的挑戰的事前預告。

Wonder Boy © 1986 Sega

攝影機路徑-預先設定整個關卡的進展路徑
攝影機框框*
*單向
單向前方焦點

  第五世代的主機,像是Playstation和N64及其它主機,憑藉著更好的硬體和真正3D遊戲的發端而開啟了新的可能性。3D攝影機技術因其本身的特色而成為令人著迷且巨大的課題,但也同時對於2D遊戲造成了很大的影響。設計師可以利用縮放、傾斜、甚至將2D和3D結合,也就是我們現在所說的2.5D,這種遊戲在2D的平面上進行但場景卻是3D。

  Playstation的風之少年(Klonoa)就是這種遊戲的其中之一。玩家進行的是基本的2D操控,但遊戲場景則是精緻的3D世界。風之少年跟隨著的3D攝影機路徑提供了行進方向和遊戲所要注意的機制和敘事細節。這個路徑在所有的關卡中提供了定位、傾斜、和縮放,而且實質上充當做該以哪個方向做為焦點和哪裡可以跳躍的提示路徑。

Klonoa: Door to Phantomile © 1997 Namco

攝影機路徑*
*實質上的路徑提示。包含縮放和傾斜
攝影機框框(垂直)
線性插值滑動法
雙向前方焦點


  這種控制方式帶來了豐富的工具組,讓我們的遊戲中有可能做到事前預告、驚喜、甚至警告。當風之少年中的攝影機拉遠以展示頭目時,你接下來該做什麼事就變得很明顯了。

  超級大金鋼採用了一些有趣的特點並且成為平台遊戲的標準:它提供了關卡設計師工具來依據各別關卡的內容改變攝影機的行為,甚至是同一關卡中的各別區塊。快速、狂奔型的區域需要捨棄後方的視野以換取更廣闊的前方視野。有些探索的區域需要在兩邊都有寬廣的視野。

Donkey Kong Country © 1994 Nintendo (Rare Ltd)

線性插值滑動法
固定位置(垂直)
區塊基準錨點 (Region-Based-Anchors)- 不同的區塊(甚至在同一關中)有不同的定位和焦點的錨點。
雙向前進焦點

  如同我們在風之少年中看到的,這個可以展現3D環境的技術可以用以提供多樣的方向工具,像是縮放/攝影車(Zoom/Dolly)的運用。縮放就是改變視野(FOV: Field-of-View)的角度,而攝影車(Dolly)則是電影在推動攝影機靠近或遠離目標的專有詞。它們兩者皆有達到重構畫面的類似效果,儘管兩者是用全然不同的方式,攝影車有非常強烈的物理性存在感(當情況適用時)。更多關於攝影車和縮放不同之處的資訊可以從攝影棚和資料庫中找到。然而為了簡化之故我們會將兩種技術統稱為縮放至合適(Zoom-to-Fit)。

  以耀西物語(Yoshi’s Story)為例,畫面的框架是環繞在耀西、頭目、和柱子的周圍,強調了所有需要玩家注意力的元素:目標物以及場景的另一端。攝影機並不只是在這些元素的中心點而已,它甚至會縮放出去(事實上是攝影車往外推)直到畫面提供了必要的焦點為止。

Yoshi’s Story © 1997 Nintendo (N64)

縮放至合適  - 改變縮放或是往前/後推移以提供相關元素的特寫
雙向前方焦點
攝影機框框(垂直)
平台貼齊
手動控制

  Insanely Twisted Shadow Planet 有著非常有影響力的攝影機系統,它考慮到了玩家的速度(投影式焦點)、你的目標(目標焦點)、而最重要的是它是第一個用吸引物(Attractor)來幫助玩家將注意力放到外顯提示上。去ISTP部落格上取得更多他們這個傑出攝影機系統的資訊吧。

Insanely Twisted Shadow Planet © 2011

Shadow Planet Productions

Footage taken from Shadow Planet Productions Blog: ITSP Camera Explained

提示焦點* - 焦點會被遊戲世界中的提示(例如吸引物)所影響
*定位和縮放是根據雙環吸引物在和像是敵人或檢查點等多種提示互動時決定
投影式焦點
目標焦點
物理性滑動




  ITSP利用了環繞在像是檢查點和敵人等多種遊戲提示周圍的雙環(Double-Ring)吸引物提示。外環利用加權平均(Weighted-Average)逐漸地移動攝影機焦點至提示處。當進入到內環時,船艦的定位會被完全忽略,而攝影機只會聚焦在提示上。(編註:看沒有的話可以去他們的部落格首頁影片的1:50處看看)
  不同的提示會有不同的環,而那些環是有可能重疊在一起的,這讓不同的吸引物之間能有更滑順的移動。




  要吸引注意力到提示上有許多不同的方法,而環狀吸引物對需要受到注意的遊戲機制元素來說提供了健全的方法。這招也可以用在相反的理由中:利用排斥物(Detractor)將攝影機從遊戲機制元素旁推開。這在用來提供懸疑感和隱藏物件的隱密感上是很有用的。

  Aether是在2008年由Edmund McMillen和Tyler Glaiel做出來的一款優美的Flash遊戲,而且它在提示上採用了獨特的做法:它會旋轉這個世界來指出臨近的星球,這傳達出了一種安全和引導感,最終無可避免地下探至地面。當你在太空中飛行並且被重力場抓到時,螢幕會開始轉向重力元素上。

Aether © 2008 Armor Games

(Edmund McMillen, Tyler Glaiel)

提示焦點*
*攝影機的方向隨著重力改變
固定位置
線性插值滑動法

  如果在討論攝影機系統時沒有談到地獄邊境(Limbo)的話那就不是個完善的討論。藉由巧妙地操控曝光、定位、和縮放,它創造了一個真正獨特的氛圍。在地獄邊境中每個區域都有獨特的特色,像是將錨點定位在螢幕上的特定點上,還有讓特定物件提供攝影機更進一步的提示,例如將吸引物物件放在敵人身上。

Limbo © 2010 Playdead

區塊基準錨點*
*縮放、定位(和方位)
固定位置*
*每個區域都會改變
提示焦點*
*特定的動作會引發提示,例如敵人攻擊等等
物理性滑動法

  另一個簡單卻有效的方是利用區塊焦點(Region-Focus),就像幾何戰爭(Gemometry Wars)中所使用的那樣。它結合了船艦的位置和場景的中央點。這代表螢幕會延著船艦的方向以一半的速度一直移動。玩家只要間接觀察和中央點的偏移量就可以知道自已在哪。這個系統在封閉且有限制的場景中可以完美運作,特別是當威脅有往中央點聚集的傾向時。

Geometry Wars © 2003 Bizarre Creations

區塊焦點* - 聚焦在區塊的一個錨點上(例如場景的中央),並結合玩家的位置
*攝影機位置是船艦和場景中央的平均值


  Vessel是個經典的益智遊戲,玩家必須要留意許多的要素來解開以液體為基礎的謎題,所以攝影機區塊會更為明顯。就像是在幾何戰爭中那樣,Strange Loop (Vessel的開發商)解決的方法是更加強調在區塊上,當在試著解謎時會保持著攝影機不動。這是一個以房間為主的古老益智遊戲的現代闡釋版本,但在Vessel中,房間的概念更為彈性,它有著不同的大小和特性。

Vessel © 2012 Strange Loop Games

區塊焦點*
*攝影機位置大多是根據區塊的錨點,但是會隨著玩家移動而稍微改變
區塊基準錨點*
*不同的區塊提供不同的錨點和縮放因素
提示焦點
物理性滑動法
電影式路徑

  在Vessel中,最聰明的點子之一就是,即使是被侷限在一個區塊時攝影機仍會跟著玩家稍做移動。此外,當玩家破解了謎題後要離開這個區塊時,攝影機早就開始移動,將攝影機移往下個區塊時不合諧的加速度降到最低。

  另一個用來提供注意力和戲劇性的攝影機技巧是利用玩家的行為來觸發預先設定好的攝影機行為焦點(Gesture-Focus)。野生兒3D大冒險(Tomba)是個有意思的遊戲,它是Playstation上第一批2.5D的遊戲。遊戲中的攝影機通常會維持在一個直接的拍攝角度,但當玩家開始執行特定動作,像是攀爬或是在凹洞中移動時,攝影機就會轉到不同的角度。當攝影機移動到玩家背後時會有一種獨特的操作感,同時提供了前方更好的視野。

Tomba! © 1997 Whoopee Camp

行為焦點* - 遊戲機制觸發了攝影機的指令
*攝影機移動到反映出指令和狀態的位置
雙向前進焦點(水平)
平台貼齊
攝影機框框(垂直)

  遊戲機制觸發指令可以用在不同的地方—不同的動作類別和軸線、反應、預測等等...。我相信在談到玩家所驅使的動作及其引發的攝影機行為的關係時,我們仍是在皮毛上打轉而已。

  在阿茲特茲(Aztez)這個將推出的格鬥遊戲中,我們可以發現到關於行為焦點潛力的優秀案例。它用了不同的攝影機指令,像是縮放(往前移和往後移)或是傾斜,來增加在特定格鬥事件中的戲劇性和前後關係,像是貼身戰鬥和最終一擊。

Aztez © [Release TBA] Team Colorblind

行為焦點*
*縮放(向前/後移)以及傾斜會被遊戲機制觸發
固定位置(垂直)
線性插直滑動法
縮放至合適

  在Sega經典的鬥毆遊戲格鬥三人組(Street of Rage)中,攝影大部份以單向前進專注方式來跟著動作走,此乃一個很典型的鬥毆遊戲行為。然而,一次又一次地,攝影機會離開螢幕(或說離開玩家)以提供額外的敘事和戲劇的前後關係。

Streets of Rage © 1991 Sega

電影式路徑 - 攝影機會將現有功能停擺以提供螢幕外的敘事性前後關係
區塊基準錨點
攝影機框框*
*標準的鬥毆遊戲行為:單邊攝影機框框,只有在戰鬥間有效

  這個系統非常強而有力,讓設計者能提供電影式的發展,而不用破壞遊戲性的前後關係,就像沒有換場的過場動畫。

  在巨獸(The Behemoth)製作的外星原人(Alien Hominid)城堡毀滅者(Castle Crashers)中,電影式路徑用得非常好。在很多不同的案例中,正常遊戲會停止,然後攝影機會移動到頭目或是故事要素上。這樣達到了兩個目標—提供了敘事的前後關係以及遊戲引導—而不用將玩家的注意力從動作上移開。

Alien Hominid © 2004 The Behemoth

區塊基準錨點
電影式路徑
攝影機框框*
*標準的打架遊戲行為:單邊攝影機框框,只有在戰鬥間有效


多焦點式攝影機


對焦在複數物件上

  如同我們看到的,即使單一焦點的目標也帶來了相當多的挑戰。那我們該如何滿足複數玩家或目標呢?

  聖鎧傳說(Gauntlet)是個劃世代的地城探索(Dungeon Crawler)遊戲,它在當時有著高度先進的科技和設計。有了多個玩家在同個螢幕上,它單純地將攝影機鎖定在他們的平均位置上。然而,除非所有玩家都往同個方向前進,當玩家間的距離達到了螢幕的大小時,就沒有玩家可以動了。實際上,如果有一個玩家決定離開而他的角色仍在遊戲中的話,那每個人都會被卡在那裡,因為沒有玩家可以跨過(或推動)螢幕的邊緣。

Gauntlet © 1985 Atari Games

平均位置 - 焦點在所有目標的平均位置上


  侍銃(Samurai Gunn)用了同樣的技巧,但是刻意玩弄到極限而營造了鬧哄哄的環境。頻繁的畫面凍結和淡出效果更加強調了這件事。說到攝影機,因為玩家很頻繁地重生或傳送,平均位置會瞬間移動,造成了快速的焦點轉移。實際上,連基本的邊緣貼齊都沒有,這讓攝影機可以跨出關卡界限。這樣在遊戲氣氛上運作地很好,但是看起來會感到不舒適,尤其是旁觀者。一般來說當控制角色時,雖然不是很普遍,如果想要的話玩家可以就直接走出螢幕,而且永遠不會被螢幕邊緣擋住。



Samurai Gunn © 2013 Teknopants

平均位置
線性插值滑動法
邊緣貼齊*
* 為了達到熱鬧的氛圍而很不尋常地避免邊緣貼齊,所以螢幕幾乎永遠在移動


  另一個方法可以在美好的舊版快打旋風中(Street Fighter 1987版)找到,以及在整個系列中都有。它用了水平式攝影機框框讓攝影機在大部份的情況下保持穩定。如同任一個攝影機框框,玩家碰到框框的邊邊時會拉動攝影機。當攝影機動的時候,它可能會拉著玩家一起跑,讓所有的玩家都在框框裡。攝影機(和玩家)在雙方都試著往反方向拉框框時就只會卡住不動。

Street Fighter © 1987 Capcom

攝影機框框* (水平)
*碰撞到框框的邊緣會拉動攝影機,而且可能會把另一個角色一起拉動。

  另一個重新定義多人遊戲的系列作是任天堂的明星大亂鬥(Super Smash Bros)。就算是系列的第一作也有著傑出的攝影機作法。明星大亂鬥會將視線往所有玩家的平均位置看過去,然後當他們的距離變大時就會適當地拉遠。

supersmash_240_2.gif

Super Smash Bros. © 1999 Nintendo (HAL Laboratory)

縮放至合適
平均位置*
*技術上來說是往平均的位置點看。
線性插值滑動法

  這個系統依然運作地很好,而且在像是火箭火箭火箭(ROCKETSROCKETSROCKETS)這個案例中,它達到了雙重目的:將所有東西都放在一個畫面中,而且也引導玩家往中間前進,如果玩家們試著要避免近距離接觸的話會把他們推向彼此。

ROCKETSROCKETSROCKETS © 2014 Radial Games

縮放至合適
平均位置

 在我們之前給大家看過的永不孤單中,你可以在任何數量的角色中找到平均點,不管是單人遊戲或多人遊戲,這可能會有不同的加權指數。

Never Alone © 2014 Upper One Games

物理性滑動法
平均位置
電影式路徑
區塊基準錨點
提示焦點

  地底尋寶(Spelunky)用了不同的方法來解決位置衝突的問題,它在同一時間內只會將焦點放在一個玩家身上。如果玩家死掉了,火把(在遊戲中是白色的旗子)就會傳到另一個玩家身上。這實際上變成了遊戲要素,讓畫面外的角色會開始有死亡的倒數計時。

Spelunky © 2008-2012 Mossmouth (Derek Yu)

固定位置
線性插值滑動法
[手動控制*]
*按上/下以取得延伸的垂直平移視野

手動控制

提供玩家額外的攝影機控制

  在某些案例中,設計師可能需要基於用戶的選擇而提供額外的視覺資訊。有個辦法就是將攝影機綁在操作系統上。

  超級瑪莉歐世界又來了,它當時是第一個加入了額外攝影機控制的遊戲。肩部鈕(Shoulder Button 編註:就是我們常講的LR鍵)可以將攝影機推到各自的方向去。雖然這可能是一種聰明的想法,它卻多被批評為毫無用處,而且剛開始的時候大多數玩家都不知道有這個功能。

Super Mario World © 1990 Nintendo

區塊基準錨點
平台貼齊*
攝影機框框*(垂直)
*可適用時
雙向前進無點*
*界限觸發
手動控制*(水平)
*控制器提供額外的平移


  超級瑪莉歐世界額外的手動操控所帶來的問題正是它自身的非直覺性所引來的。在標準的移動操控中並沒有提供任何和肩部按鈕的連結。

  在Osmos中可以找到一個提供直覺性手動操控攝影機的絕佳範例。這並不是一個你所就悉的標準捲軸遊戲,但是Osmos用了更含蓄的方法來改變攝影機。在桌上型電腦上使用滑鼠滾輪或是平版電腦上的兩指縮放提供了控制和行為之間的清楚關聯。

Osmos © 2009 Hemisphere Games

固定位置
手動控制*
*滑鼠滾輪/兩指縮放來改變遠近

  如先前所提到的,光速兔崽子2在垂直平移的額外操控完美地和與其相對應的水平移動結合在一起,而因此其操控是可以預測以及明確的。

jazzjackrabbit_240_2.gif

Jazz Jackrabbit 2 © 1998 Epic Games

線性插值滑動法(垂直)
目標焦點 - 攝影機跟隨著控制器的輸入以提供真正的視覺前進焦點
*蘑菇頭/方向鍵將焦點推到想看的方向去
手動控制*
*手動的垂直方向視野是目標焦點的延伸

  如果手動延伸焦點是必要的,那就使用現有的操控吧,就像地底尋寶一樣,當蹲下或往上看時會分別改變攝影機的焦點。

Spelunky © 2008-2012 Mossmouth (Derek Yu)

固定位置
線性插值滑動法
[手動控制*]
*按住上或下來延伸垂直方向的平移

攝影機搖晃

失去所有控制


  如同我們在這整篇探討中所看到的一樣,提供真實且清楚的攝影機控制會激發出一種玩家和螢幕後面虛擬世界合體的感覺。就相反面來看的話這也是一樣的:斷開攝影機和控制的連結,像是經由攝影機/畫面的搖晃,可以提供一種戲劇性,而這個行為比玩家角色自身來說更有力。

  在我的研究中,我試著找出第一個使用攝影機搖晃的遊戲。不意外地這又導向了另一個宮本茂的作品,讓我們回到1983年:瑪莉歐兄弟(Mario Bros)。畫面的搖晃只有在大型機台版本中出現,這很有可能是因為紅白機上的技術瓶頸或是製作時程的限制。


Mario Bros. © 1983 Nintendo


  畫面搖晃(以及達到同樣效果的"凍結")已經運用在無數的遊戲中,而且尤其可以在這些年中所有Vlambeer的作品上看到。看看Vlambeer的設計師JW對這個話題的演說吧

Super Crate Box © 2010 Vlambeer



自定義式攝影機


綜合所學:為你的遊戲量身打造攝影機

  在你遊戲中所要投入的細節程度和注意力是很巨大的。如同其他要素一樣,攝影機也值得你的注意。在你架設好預計的目標鎖定攝影機之前,試著去描繪出你想要攝影機如何在你遊戲中運作的特徵。

  這裡有幾個簡單的基本規則,這在我製作我的遊戲時很受用,而且很明顯地讓我開始了這項研究。

  • 找出你遊戲中獨特且值得注意的待徵
  • 在其他碰到相似問題的遊戲中找尋靈感
  • 化作己用

  很明顯地,這並不僅限於設計攝影機時才能用。這個可以應用在你遊戲中任何的面相,美術、音效、技術、等等。

  這裡有個將攝影機針對遊戲性做最佳化的絕妙範例。Taito的影子傳說(The Legend of Kage)是第一批使用雙軸向的平台遊戲。(有趣的小知識:它也是第一以及唯一一個由右向左為大方向的遊戲。)看看它在水平向的攝影機框框使怎麼運用的。許多史詩級的戰鬥是在樹上發生,所以攝影機框框被設定為剛剛好是樹的寬度,將攝影機穩定住以避免在戰鬥中快速的方向切換。

The Legend of Kage © 1985 Taito

固定位置(垂直)
攝影機框框(水平)*
*框框的大小是以樹寬為基準


  另一個將現有系統最佳化至設計中的優質範例就是。為了要達到大跳躍,它使用了一個很長的攝影機框框,幾乎就是整個畫面的高度。接著,為了要避免偏移出畫面中央,會導入一個緩慢的位置貼齊行為。

Shinobi © 1987 Sega

位置貼齊(垂直)
攝影機框框(垂直)
固定位置(水平)
單向前方焦點

  音速小子(Sonic the Hedgehog)是個多軸向的高速平台遊戲。窄小的框框設計是為了要讓索尼克能一直在畫面的中央,因為玩家必須要永遠對前方會快速出現的東西有個清楚的視野。這個框框稍微高了一點是為了要避免小跳躍時造成的垂直性移動。這個狀況因為使用了平台貼齊而受到了制衡,只要索尼克站在平台上就會維持垂直面的一致。

  然而,以這樣的高速去撞擊框框可能有時候會卡卡的,特別是在轉大圈圈,或是以重力引起的全速下降撞到框框底部時。

Sonic the Hedgehog © 1991 Sega

平台貼齊
攝影機框框
單向前進焦點
手動控制

  音速小子2(Sonic 2)用了超級瑪莉歐兄弟的老方法解決了這個問題:當索尼克在框框中往回走時,他的速度會減緩然後往另一個方向開始加速,所以當他撞到邊邊時,攝影機已經在往正確的方向移動了。如下圖所示,這個轉換過程就算是在高速下轉圈圈也讓人感到順暢。


  這同時代表攝影機會一直在移動,因此打破了攝影機框框的初衷,但是在像是音速小子這樣快步調的遊戲中它已被証明是可行的。

Sonic the Hedgehog 2 © 1992 Sega

平台貼齊
攝影機框框
加速推移區*
*在動作的方向改變時,同時減速並加速
前進焦點
手動控制



  當寬廣的前方視野是必須,但動作並不受限於任何一個方向時,雙向前進焦點很自然地會是你的選擇。在方向改變後有許多的方法可以將視野貼齊到你想要的錨點上。洞窟物語在這方面做得很好,基於玩家的行走速度動態地去改變貼齊的速度(舉例:貼齊基礎速度加上行走速度)。龍鳯神偷使用的方法稍微不同,它限制在只有玩家移動時攝影機才會移動,對於一個盜竊遊戲來說是可行的,但對於像是洞窟物語這樣滿是敵人的遊戲就不一定了。

Cave Story © 2004 Studio Pixel

固定位置(垂直)
雙向前進焦點
物理性滑動法
手動控制*
*控制器提供了額外的垂直偏移

  Fez中不會有一整個師的敵人往你衝過來,所以簡易的攝影機框框是合理的。但是Fez的設計師很聰明地將這個經典的技巧巧妙地重新調整,以符合這個遊戲獨特的設計。你可以說因為角落是執行維度轉換時和常見的點,所以什麼東西在你後面實際上會比什麼東西在你前面還來得重要。此外,在維度轉換的同時,攝影機會在次元轉換後重新定焦,以提供與框框邊緣有最大幅度的前方距離。

Fez © 2012 Polytron Corporation

攝影機框框(水平)*
在次元轉換時也會強制執行
固定位置(垂直)
線性插值滑動法
區塊基準錨點
手動控制*
右蘑菇頭提供額外的平移


  在Vessel中使用的方法代表了在一個房間即一個謎的益智遊戲中最完美的設計方法。在必要的解謎要素周圍使用了區塊基準錨點來框住(和縮放)攝影機,這對玩家來說是相當清楚的呈現方式。以玩家為主的額外偏移提供了更好的操控感,並且減輕了攝影機在不同區塊間的移動,整體來說它成功結合了預設框架和強烈的操控感。

Vessel © 2012 Strange Loop Games

區塊焦點*
*攝影機位置大多是根據區塊的錨點,但是會隨著玩家移動而些微改變
區塊基準錨點*
*不同的區塊提供不同的錨點和縮放因素
提示焦點
物理性滑動法
電影式路徑


  先前有看過,The Swapper在獨特的氛圍下訴說著精緻的故事,而這只是經由操控攝影機去橫跨不同的電影式路徑來達到的。這個讓玩家能一直融入於遊戲中,提供了戲劇性的同時不會失去在過場動畫時偶爾會搞丟的方向感。

The Swapper © 2013 Facepalm Games

目標焦點
物理性滑動法
區塊基準錨點
提示焦點
電影式路徑


Mushroom 11

我所打造的攝影機選擇

  在Mushroom 11中的攝影機系統是由精細的各別區塊方向導引攝影機所組成的。每個關卡是由數十個不同的區塊所構成,而每個區塊都有限制攝影機的複雜矩形路徑。這樣的區塊同時也有著預設的縮放要素(視野要素)。

Mushroom 11 © [Release TBA] Untame

區塊基準錨點
*每個區塊有著預設路徑和縮放要素的矩形
平均位置
單向前方焦點*
指示焦點*
*僅限在可應用的區塊中
投影式焦點
物理性滑動*
*以速度為基準的滑動要素

  這些區塊經過仔細排序,而攝影機是由菌類最多數量的區域所掌控。當任一小塊,即使是單一個元件的菌類成為了數量最多的區域,攝影機也會馬上跟著移到那一塊上。

Mushroom 11 © [Release TBA] Untame

區塊基準錨點*
*每個區塊有著預設路徑和縮放要素的矩形
平均位置
單向前方焦點*
指示焦點*
*僅限在可應用的區塊中
投影式焦點
物理性滑動*
*以速度為基準的滑動要素

  請注意到任何碰觸到攝影機邊緣的菌類元件都會被摧毀掉,這讓攝影機的準確度更加舉足輕重。這個在上面的圖例說明得很清楚,它提供了足夠的空間讓玩家可以去策劃解法,同時一有菌類到達新的區域時攝影機會迅速跟上。以上這些都是在不讓畫面邊緣摧毀任何重要菌類元件的情況下達成的。

  區塊分成兩大類:平均導向(Average--Oriented)和進度導向(Progression-Oriented)。區塊類型會指揮攝影機該往哪裡聚焦。在焦點決定後,攝影機試著往該點移動的同時也會被該區塊的矩型路徑所限制。


平均導向區塊

  某些區塊會使用所有菌類元件的平均位置(Position-Averaging),很自然地將攝影機定焦到更大塊的菌類元件上。這在玩家需要掌控多數個元件的區域,或是沒有單一進度方向時會很有效。這種區塊類型相當適於有限空間內的解謎區,也就是多個元件保持在可以接受的距離範圍裡(不然就會撞到畫面邊緣了)。

Mushroom 11 © [Release TBA] Untame

區塊基準錨點
*每個區塊有著預設路徑和縮放要素的矩形
平均位置*
單向前方焦點*
指示焦點*
*僅限在可應用的區塊中
投影式焦點
物理性滑動*
*以速度為基準的滑動要素

進度導向區塊

  較為線性的區塊需要將焦點放在進度最前的菌類身上。在任一時刻,進度最前的菌類元件(根據區塊中預設的線性進度路徑)掌控了攝影機,而被拋在後的元件會被忽略掉。在此用上了一段額外的單向前方焦點的距離,和這一類型的區塊非常契合。

Mushroom 11 © [Release TBA] Untame


區塊基準錨點
*每個區塊有著預設路徑和縮放要素的矩形
平均位置*
單向前方焦點*
指示焦點*
*僅限在可應用的區塊中
投影式焦點
物理性滑動*
*以速度為基準的滑動要素

指示(Cues)

  兩種區塊類型都可以和指示焦點結合。儘管攝影機是被區塊所掌控,擁有特定/動態吸引條件的某些物件或生物可以當做攝影機吸引物。如下圖所示,頭目戰很明顯地是使用這個手法的好場合。

Mushroom 11 © [Release TBA] Untame

區塊基準錨點
*每個區塊有著預設路徑和縮放要素的矩形
平均位置*
單向前方焦點*
指示焦點*
*僅限在可應用的區塊中
投影式焦點
物理性滑動*
*以速度為基準的滑動要素

滑動式

  滑動在這裡是結合了投影式焦點和物理性滑動而成的。以菌類的速率為底所導出來的滑動因素運作地非常好:如果玩家移動太快,攝影機仍很準確(還會很跳),而如果玩家在細心修剪菌類,它就會輕柔地滑動。

  因為這個遊戲中沒有跳躍,使用投影式焦點就很自然不過。經由在幾毫秒內將攝影機瞄準至菌類會被投向的地方,如此一來就達成了更精確和更可預測的行為。

Mushroom 11 © [Release TBA] Untame

區塊基準錨點
*每個區塊有著預設路徑和縮放要素的矩形
平均位置*
單向前方焦點*
指示焦點*
*僅限在可應用的區塊中
投影式焦點
物理性滑動*
*以速度為基準的滑動要素

  當這些行為模式都被定義後,攝影機系統已經整裝待發以應付多種動態改變元件的狀況,像是不同的大小和速度以及快速橫跨區塊的情形。

Mushroom 11 © [Release TBA] Untame

區塊基準錨點
*每個區塊有著預設路徑和縮放要素的矩形
平均位置*
單向前方焦點*
指示焦點*
*僅限在可應用的區塊中
投影式焦點
物理性滑動*
*以速度為基準的滑動要素

字彙表

auto-scroll
自動捲動
玩家對捲動無法掌控
camera-path
攝影機路徑
在整個關卡中預先定義好的進度路徑
camera-window
攝影機框框
當玩家撞到框框的邊緣時會推動攝影機
cinematic-paths
電影式路徑
攝影機停止了原本的功能並提供了在畫面外的敘事性描述
cue-focus
指示焦點
焦點會被遊戲世界中的指示所影響(例如:吸引物)
dual-forward-focus
雙向前進焦點
玩家方向改變會切換攝影機的焦點以獲得更寬廣的前方視野
edge-snapping
邊緣貼齊
為攝影機的位置設定一個不可侵犯的邊緣
gesture-focus
行為焦點
遊戲機制會觸發攝影機的行為
lerp-smoothing
線性插值滑動法
利用線性插值法持續地減少攝影機和活動中角色之間的距離
physics-smoothing
物理式滑動
攝影機是個有物理行為的個體,持續性地靠近焦點目標
platform-snapping
平台貼齊
攝影機只有在玩家著陸到一個平台上時才會貼齊
position-averaging
平均位置
聚焦在所有相關聯目標的平均位置上
position-locking
固定位置
攝影機被鎖定在玩家的位置上
position-snapping
位置貼齊
將攝影機重新聚焦在玩家身上以持續地減少框框的偏移
projected-focus
投影式焦點
攝影機會跟隨著玩家的投影(外推法)位置移動
region-based-anchors
區塊基準錨點
不同的區塊(即使是在同一關中)會有不同的位置和焦點的錨點
region-focus
區塊焦點
聚焦在區塊的錨點上,結合了玩家的位置
speedup-pull-zone
加速拉動區
當玩家超出了框框的邊緣時,拉動攝影機以跟上玩家的速度
speedup-push-zone
加速推移區
當在推移區內時,緩慢地將攝影機加速以跟上玩家的速度
static-forward-focus
單向前進焦點
在進度推前的大方向上有額外的視野
target-focus
目標焦點
攝影機跟隨著控制器的輸入,以提供真正的視覺上的前進焦點
zoom-to-fit
縮放至合適
改變縮放或是往前/後移動以提供相關元素較近的視點

感謝閱讀!


我想要感謝這個超棒的獨立遊戲社群,因為我在這個研究上獲得了他們廣大的幫助,然後要特別感謝的是幫了我超大忙的紐約大學遊戲中心


翻譯:XDorz87
校正:MilkReaver

意見提供:Johnson Lin

沒有留言:

張貼留言