入門遊戲設計?獻給初學者的工具箱(2)


3樓貓 發佈時間:2022-11-25 17:31:53 作者:Bramasole Language

上一篇文章的鏈接: 入門遊戲設計?獻給初學者的工具箱(1)
這篇文章是我這學期在大學學習遊戲設計的一些筆記摘錄和心得的彙總,分為上下兩篇(這是下篇),包含了一些遊戲設計理論文章的概念和我自己製作的桌遊的實踐手法。如果你想以一種更加系統和理論的方式瞭解遊戲設計的話,那麼這篇文章中介紹的概念和方法相信可以幫到你、並指引你入門遊戲設計。
閒話少說,讓我們直接步入正題吧!

自動化系統

自動化系統(Cybernetic System)指的是一個內部系統中輸入數據和輸出數據的交互和對系統本身的影響。在這個語境下,輸入數據表示了系統是如何檢測它所處的環境的,輸出數據表示了系統是如何反過來影響環境的
這個概念本身十分苦澀,所以我用一個例子更生動地講解一下。假設今天是你和你喜歡的女生的第一次約會,你顯得非常的緊張,因為你不想搞砸這次千載難逢的機會,你想要在女孩面前展現出最好的自己。於是,你的大腦開始了它的認真模式,它感知到每一個女孩的動作、微表情和話語,在腦中進行分析和決策調整,最後告訴你下一步應該怎麼做才能讓女孩更青睞你。
在這個過程中,自動化系統就是你的大腦,輸入數據是女孩的一舉一動,輸出數據是你對她的一舉一動的反應。女孩的行動和你自己的行動都會作為大腦思考後續步驟的參考,它會一點點調整今天約會的大走向和決策,這也正符合了自動化系統的定義。
圖源:《Florence》

圖源:《Florence》

在自動化系統運作的過程中,它的過程可以被抽象為“輸出——反饋——調整(output - feedback - adjustment)”。你對女孩說今天要不要吃這個,女孩回答說“也行”,你意識到她可能不太情願,於是嘗試調整今天的計劃。
自動化系統通常具有3個必備元素:傳感器(Sensor)比較器(Comparator)和激活器(Activator)。傳感器接收環境中的輸入數據,比較器解讀傳感器接收的輸入數據並決定系統是否需要進行調整,激活器則負責真正的調整執行並向環境輸出數據。

反饋循環

接下來,讓我們彌補上上一篇文章的一塊缺失的碎片——反饋循環(Feedback System)。反饋循環是自動化系統的一種,它以一個條件為目標,並會持續調整系統以實現並保持在目標點。
中央空調是一種很典型的反饋循環的案例:首先我們需要設立一個目標溫度,然後空調系統就開始運作試圖達到那個溫度。如果室內比較冷的話,空調系統就會放暖氣提升溫度,如果室內很熱的話,系統就會製冷降低溫度;經過一定時間的來回調整之後,整體的室溫就會慢慢趨近於當初設立的目標溫度了。
反饋循環分為兩種:負反饋循環(Negative Feedback Loop)和正反饋循環(Positive Feedback Loop)。剛剛中央空調的例子就是一個負反饋循環,即新數據產生的結果和原先的結果相反。假設你在冬天打開了窗戶,暖氣接收到了冷空氣的結果(原先的結果),於是便隨之產生了更強烈的熱風(新數據產生的結果)。於是,室溫會一直維持在一個恆定的溫度,也就是說這種負反饋的調整會使整個系統保持在一個平衡點上
正反饋循環的運作則完全相反,數據會導致系統持續朝著一個方向去調整。這個循環的例子也有很多,有一句話叫做“堅持就是勝利”,如果你堅持努力學習,你的成績會越來越好,如果你堅持每週健身,你的身體素質會越來越強,如果你堅持每天讀書,你的知識量會越來越大。
在你堅持做一件事時,你會獲得越來越多的回報,但是,堅持並不等於正反饋循環。人們之所以能堅持做一件事,是因為他們從堅持的結果嚐到了甜頭,所以才能有動力繼續幹下去。你考試獲得了好分數,才會覺得學習真的挺好的,才會繼續埋頭學習;如果每次成績都能進步,從班級前10到班級第1到年級第1,那麼你就會一直高效的保持學習的熱情,這才是一個合格的正反饋循環。講到這裡,你是否明白了,正反饋循環之所以能循環的原因,正是因為每次傳感器接收數據時所嚐到的甜頭。如果把負反饋循環比作對數函數的話,正反饋循環就和指數函數完美契合。

遊戲中的反饋循環

講了這麼多理論性的東西,是時候回到遊戲中,看看反饋循環是如何作用在遊戲設計上的。首先對於負反饋循環,一個幾乎被說爛的例子就是《馬里奧賽車》中的道具系統。
如果你是最前面的玩家,你在獲得隨機道具時很大概率會拿到一個幾乎沒用的道具;但是,如果你是跑在最後的玩家,你通常能得到很妙的噁心對手的道具,比如可以直接投擲出把第一名拉下馬的“藍龜殼”。通過這些道具的隨機性,《馬里奧賽車》可以使遊戲保持在一種平衡的狀態,不會讓第一名一直領先,也不會讓最後一名變得毫無懸念。在比賽結束之前,一切都是未知,所有玩家都可以利用道具獲得反敗為勝的機會。
令人討厭的藍龜殼

令人討厭的藍龜殼

《反重力賽車》(WipeOut)是另一個負反饋循環的例子。在遊戲中,玩家會和電腦AI進行賽車比賽:如果玩家現在是第一名,電腦AI會讓第二名的賽車稍微加速;如果玩家是最後一名,倒數幾名的賽車就會減速讓玩家有更好的超車機會。可以注意到,《反重力賽車》通過調整系統和環境來影響玩家的優勢和劣勢,而非直接對玩家本身進行增強或限制。
遊戲《反重力賽車》

遊戲《反重力賽車》

《黑暗靈魂》(Dark Souls)中,玩家每次進行攻擊就會削減精力條的一部分,而玩家不行動的話精力條會自動回覆,這是一種負反饋循環;在《女神異聞錄5》(Persona 5)中,佐倉雙葉的技能釋放很大概率和戰鬥角色的血量有關,在我方角色快沒血或者已經沒血時,雙葉會更普遍地自動釋放全體回血技能,讓玩家不至於陷入絕對的劣勢,這也是一種負反饋循環。
佐倉雙葉是由電腦控制的輔助角色,幫助玩家取得各種增益buff

佐倉雙葉是由電腦控制的輔助角色,幫助玩家取得各種增益buff

那麼,留給大家一個問題,我們講了兩種賽車遊戲中的負反饋循環的例子,那麼在真實世界的賽車比賽中,你認為這是一種負反饋循環還是正反饋循環呢?
正反饋循環在遊戲中的例子就更加普遍了。幾乎所有RPG遊戲都有一定程度上的等級提升後能力變強,“打怪 — 升級 — 能力提升”就是一個最直觀卻尋常到幾乎不會被注意到的正反饋。但是,因為你變強了,你的敵人也會隨之變強,這也就流傳了那個“當我1級的時候在用【破損的木棒】打【小龍蝦】、當我20級的時候在用【精緻的法杖】打【變異的小龍蝦】”的梗。實際上,敵人隨著玩家的能力提升而變強是否也可以算是一種負反饋循環呢?
還是拿《黑暗靈魂》和《女神異聞錄5》來舉個例子。在《黑暗靈魂3》中,有一種流派叫“爽到(雙刀)流”。因為雙刀的攻速特別快,可以在精力消耗完之前打出多段傷害。那麼,設計師是如何讓雙刀的攻擊產生更多的正反饋呢?他們設計了一個叫做“教宗右眼”的戒指,戒指的介紹是“越持續攻擊,攻擊力越高”。也就是說,雙刀的連擊在這個戒指的加持下可以產生強大的傷害正反饋,形成爆炸性傷害,有時候配合其它buff道具甚至可以雙刀一套秒殺boss。
雙刀一套帶走Boss

雙刀一套帶走Boss

在《女神異聞錄5》中,玩家的隊伍在戰鬥時一共可以登場4名角色。為了強化角色間的互動,設計師加入了“換手”機制。在一名角色對一隻怪物造成了弱點攻擊後,該角色可以立即進行另一次額外攻擊,或者和隊友換手,將這個額外的攻擊機會讓給隊友。請注意,這個機制中存在著兩個正反饋循環:第一種是弱點攻擊後額外攻擊一次的正反饋,第二種是選擇換手的正反饋。前者的正反饋非常普通,但換手則更為複雜和豐富。
1 / 2
可以選擇隊友進行換手
在一次戰鬥中,玩家可能會面對多個敵人,這些敵人的弱點可能都不一樣。當玩家用 角色1 對 敵人1 造成了弱點攻擊後,該敵人就陷入昏迷狀態,本輪內不能再被重複造成弱點攻擊。在這個時候,如果 角色1 和 角色2 換手,角色2 恰好用他的技能觸發了 敵人2 的弱點,那麼角色2 就可以再和 角色3 換手。感受到了嗎,在連續換手的機制下,玩傢俱有了更多額外的攻擊機會,並對怪物挨個造成了大量的弱點傷害。
但是,這還沒結束,每次換手成功後,下一位行動的角色會有一定程度的加成,比如攻擊力提升、回覆血量等,甚至如果你成功換手了所有的角色,最後一個行動的角色可以不使用任何魔法消耗來釋放任何的技能。總結一下,這個例子中的正反饋循環通過讓玩家造成弱點傷害,賦予了玩家更多的行動次數和屬性加強,並通過連續換手這個策略造成持續且大量的傷害。

反饋的規律和應用

通過上述一些例子的延申,現在是時候對反饋循環進行一個簡單的總結和提煉:
  • 負反饋循環可以通過不斷對遊戲優勢的平衡延長遊戲時間
  • 正反饋循環可以更快地推進遊戲到結局
  • 負反饋循環會強調最後的勝利結果
  • 正反饋循環會強調前期的優勢基礎
  • 正反饋循環通常需要負反饋循環進行中和
  • 反饋循環間接從玩家手中不知不覺搶走一部分控制權
對於最後一點,我想要補充玩家需要的其實不是真正的控制權,而只是一種控制事物的感覺;只要給予他們這種感覺,哪怕他們並不是真正地控制著遊戲本身,玩家也不會有什麼異議。
有一種基於反饋循環的遊戲平衡手段——“動態難度調整”(Dynamic Difficulty Adjustment),相信很多玩過《生化危機4》的玩家都耳熟能詳了。DDA會評估玩家在關卡的一個位置的死亡次數,並隨之調整遊戲的難度。假設你總是在一個地點被怪物打死,遊戲就會讓怪物的血量降低、你的攻擊力增強,讓你更容易地克服這個部分。
但是,關於DDA的爭論也一直很多。遊戲究竟是類似於一種需要玩家不斷學習才能掌握的語言,還是一場根據玩家喜好及時調整的即興表演?設計師究竟應該讓玩家服從自身,還是應該遷就玩家?有些玩家會不會利用DDA的特性進行一些“作弊”操作?這些都是隨著DDA浮出水面的問題。

遊戲與模擬

模擬是對 "現實 "中的某些方面的程序性的重現或闡述。在這個語境下,程序性表示了模擬必須具有可操作性,是一種動態變化的程序,而非靜止的狀態。遊戲中經常充斥著各種各樣的對現實的模擬,但是這種模擬並不是對現實的完美重現。
優秀的設計師們從現實中找到靈感,取其精華去其糟粕,將那些快樂的感觸通過模擬的方式存放在了遊戲這種互動媒介之中。宮本茂在兒時的假期回到鄉下,在一次次探索鄉間小路的過程中發現了冒險的快樂,多年之後《薩爾達傳說》模擬了這種純粹的冒險樂趣;田尻智少年時期走遍了城市中的自然廢墟,成為了班上的“昆蟲醫生”,後來為了在遊戲中重現出捕捉不同昆蟲時的喜悅,創作出了《寶可夢》系列。有的時候,優秀的靈感並非憑空而生,美和快樂來自於現實,而設計師所做的事情,只不過是將他在現實中體會的美通過遊戲傳遞給了所有人,這是一種無私的分享。
一切都源於兒時鄉下的探險

一切都源於兒時鄉下的探險

遊戲中的模擬可以分為嵌入性元素(Embedded Element)和湧現性元素(Emergent Element),前者代表了遊戲中預先植入的部分,而後者則是遊戲系統自我更新迭代形成的動態。從敘事層面講的話,嵌入性元素就是指寫好的線性劇情和過場動畫,而湧現性元素更像跑團的感覺,根據玩家的行動和選擇產生對應的劇情反饋,是由玩家自己譜寫的故事。
《漫野奇譚》(Wildermyth)是很能體現湧現性敘事的一款獨立遊戲。這個遊戲和傳統的crpg類似,玩家會操控一支冒險團隊,在一個奇幻世界中經歷一次傳奇的史詩旅程。但是,《漫野奇譚》中加入了很多程序生成的隨機劇情,並非是一塵不變的偏線性的流程。每當團隊到達了新的區域,成員們會遭遇特殊事件,但事件本身是由電腦從庫存的數百個事件組中排列組合生成的獨一無二的劇情。每名角色自身在隨機的時間點也會出現個人任務,他們會暫時離隊去完成自身的使命,一番修行之後再度歸來。一些事件的獎勵可以讓角色變得更強,但他們必須付出相應的代價:你在山洞中得到了強大的魔法水晶,但它被永遠鑲嵌在了你的眼眶上,而你此後一直受到視力的困擾。團隊中的每個角色都沒有主角光環,他們會變老,會結婚生子,也可能在戰鬥中傳奇版的隕落;在他們永遠地告別這個世界時,你可以選擇以何種方式去安葬他,給他一個體面的結局。
英雄終將落幕

英雄終將落幕

《漫野奇譚》中的湧現性元素使得這個遊戲雖然不具備框定的線性流程,但依然能使玩家感受到一種真實的冒險感,一種生命轉瞬即逝、傳奇終將隕落的悲劇。當你發現當初開始冒險的3個毛頭小子如今已經白髮蒼蒼,而他們的子嗣接替他們的名號繼續闖蕩江湖時,《漫野奇譚》對於冒險者一生的模擬就圓滿完成了它的使命。
程序化表現(Procedural Representation)讓模擬在《漫野奇譚》中得以成功運作。在定義中,程序化表現指的是遊戲中的嵌入元素和湧現元素所共同創造出的一個自遊戲程序中產生的表現結果
衝突(conflict)是一種十分普遍的程序化表現,它不僅僅是遊戲規則中既定的要素,更是一種遊戲動態中湧現的程序化表現。以下是3種對於遊戲中衝突的分類:
  • 領地上的衝突(Conflict over territory)
  • 經濟資源上的衝突(Conflict over economy)
  • 知識上的衝突(Conflict over knowledge)
領土和經濟的衝突在人類歷史中已經存在了很長的時間,戰爭和貿易帶來的國家和社會變革塑造了世界本身,而遊戲只不過是它們的另一種形式罷了。而對於知識上的衝突,強調的是玩家遊戲之外的文化積累,因為你在現實的知識儲備會直接影響到你在遊戲中的表現。
《十字軍之王3》中對戰爭和領土衝突的模擬

《十字軍之王3》中對戰爭和領土衝突的模擬

設計模擬

如何在遊戲中設計模擬呢?一共有3個步驟:首先,將模擬本身拆分成不同的部分;隨後,將這些部分轉化為遊戲中的不同數值;最後,確定好部分和部分之間是如何相互影響的
在設計模擬的過程中,我們必須瞭解到模擬的侷限性:
  • 模擬是抽象化(Simulations are abstractions):你不可能模擬現實中行為的每一個部分,你需要將那個行為中最棒的特點提取出來進行模擬。
  • 模擬是系統化(Simulations are systems):一個模擬是由很多小的部分和單位互相影響而形成的。
  • 模擬是數據化(Simulations are numerical):模擬通常會被還原為一種數學的結構模型。
  • 模擬是侷限化(Simulations are limited):因為模擬是一種對現實的抽象,所以它本質上就具備一種侷限性。
“案例式結構”(case-based structure)“全局式結構”(generalized structure)是兩種模擬的方式。假設設計師需要設計一個城市中黑幫搶劫的模擬,如果模擬採用了“案例式結構”,那麼設計師必須對每一個不同的路人都設計一個對搶劫的不同的反應,有的人可能嚇暈了,有的人可能求饒,有的人可能逃跑。但是,如果模擬是一種“全局式結構”的話,所有路人(作為一個整體單位)會對搶劫這個行為觸發反應;如果設計師比較懶的話,所有人的反應可能都一樣;但是,設計師也可以通過將“嚇暈”、“求饒”和“逃跑”作為三個隨機選擇賦予所有路人中的個體單位,來塑造出更多樣的路人反應結果。
《塞爾達:曠野之息》中具有很多全局式結構的模擬

《塞爾達:曠野之息》中具有很多全局式結構的模擬

從這個例子中可以看出,“案例式結構”的邏輯是一個條件觸發了x個對象的反應,這些反應導向該對象的反應結果,而“全局式結構”的邏輯是一個條件觸發了1個對象的反應,這個對象有x個單位,這個對象有3種反應結果,所以我們對x個單位中的每個單位隨機賦予這3種反應結果中的一種。
“全局式結構”可以在一定程度上減少工作時間、提升湧現感並增加遊玩選項,但用量過多也會導致系統太過複雜和龐大或是出現一些模糊無厘頭的模擬反應。所以在遊戲中雙劍合璧,合理結合“案例式結構”和“全局式結構”才是最佳的模擬手段。
那麼,最後還是用一個我這學期設計的桌游來聊聊我是如何將模擬放進遊戲中並在戰鬥中加入湧現性元素的吧。

案例:《冰雪奇緣:森林的詛咒》

事先聲明,這只是一份小組作業,沒有用作任何的商業用途。
在《冰雪奇緣2》的結局後,艾莎和安娜分別成為了魔法森林和艾倫戴爾王國的女王,一切欣欣向榮。但是好景不長,有一天邊境的士兵突然發現魔法森林似乎又被迷霧所覆蓋,四大元素在王國各地產生了暴動,而艾莎卻了無音訊。安娜本能的感覺到艾莎出現了危險,於是和克里斯托弗以及雪寶再度踏上了前往魔法森林拯救艾莎的旅途。
《冰雪奇緣:森林的詛咒》是一款3人合作的冒險題材桌遊,玩家將扮演安娜、克里斯托弗和雪寶穿越艾倫戴爾王國,北上進入魔法森林。在冒險途中,他們必須會遇到各地的特殊事件,正確的選擇會讓他們獲得獎勵;同時,一些覺醒的怪物也會在道路上等待著他們的到來,並做好了一決死戰的決心。
這個項目中我主要負責了戰鬥系統的設計。很多桌遊的戰鬥方式其實都是基於跑團的投骰子系統的改良,但是我不太想將骰子作為一種戰鬥的手法,我想創造出一種更加需要玩家肢體互動的戰鬥形式,想加入更多玩家的個人技巧而非單純的投骰子導向的隨機性。於是,我開始了對現實生活的觀察,並發現了標靶這種娛樂手段。投飛鏢這種行為在我看來十分有趣,因為它可以通過熟練度提升命中的幾率,而且每輪投飛鏢實際上就是一種回合制,靶子上命中不同區域會導致不同的得分也讓我想起了RPG戰鬥中對怪物的弱點攻擊。嗯,那麼就用靶子來模擬戰鬥系統試試看吧!
戰鬥系統的迭代過程

戰鬥系統的迭代過程

在確定了我想模擬出一種JRPG的戰鬥形式後,我開始將其拆解成不同的部分,並將這些部分和標靶進行一個匹配。但在此之前,我先將傳統的標靶進行了一個桌遊化的改造,將靶子平放在桌面上,每名玩家可以通過在一定距離外彈出手中的小方塊,使其落在靶子的平面上來對怪物造成傷害。也就是說,我將投擲的動作變成了彈出的動作,使標靶更加的桌面化。隨後,就是模擬所必需的成分拆解:
  • 回合制:玩家有一定數量的小方塊,每彈出一個小方塊代表一個回合;
  • 角色生命:將小方塊定義為角色的生命,每彈出一個小方塊意味著玩家減少一滴血量,如果小方塊全部用完時仍未擊敗怪物,則戰鬥失敗。
  • 弱點攻擊:靶子上劃分成不同的同心圓區域,越大的區域造成傷害越小,越小的區域造成傷害越大;
  • 屬性攻擊:玩家可以收集不同的元素方塊(風火水土),當怪物具有元素弱點時,彈出元素方塊到靶子對應位置可以造成高額傷害;
  • 角色技能:每個玩家角色擁有不同的技能,比如在靶子上放置兩面牆防止彈出小方塊時用力過猛飛躍了靶子之外;
  • 環境影響:靶子可以分為平坦的和弧形的(像倒扣的盤子),代表了平原和山脈;
  • 團隊合作:如果遇到多名玩家對抗一個怪物的情況,玩家可以依次行動;
可以看到,我將靶子上的不同區域和怪物本身進行了一種連接,擊中怪物的身體時可能無傷大雅,但如果直接打中了怪物的頭部或心臟就賺大了。這種怪物身體不同部位的受擊反饋被數值化在了靶子的不同大小的區域之中。另一種被數值化的概念是玩家角色的生命,被直接與玩家的攻擊進行了綁定,也是一種回合制的體現:你每攻擊一次,怪物就會對你反擊,所以用一種小方塊就可以同時成為攻擊和失血的數值化表現。
1 / 7
戰鬥系統的規則說明
最後,這個標靶的戰鬥系統出現了一些意想不到的效果,甚至創造出了我在上一篇文章中提到的“戲劇性效果”。當我們小組在課上展示這款遊戲並邀請了3名同學進行試玩時,我觀察到了這個戰鬥系統產生了很強烈的湧現性元素和正反饋循環。在一個事件中,3名同學需要共同擊敗一個擁有25點血量的小boss。在一開始,同學A和同學B連續用掉了幾乎一半的小方塊,卻只造成了8點傷害,很多小方塊要麼力度不夠沒彈到靶子上要麼力度過大直接彈飛了。但是,當同學C開始彈出他的小方塊時,卻發現越來越容易彈到靶子上了。
我開始意識到了事情的有趣性。因為之前已經存在於靶子上的小方塊形成了天然的阻擋作用,所以哪怕彈出的力道過大,新的小方塊也會被這堵“離散的牆”阻擋下來,成功落在靶面上。隨著落在靶面的小方塊越來越多,這堵牆也就擁有越來越強的阻擋作用,玩家可以肆無忌憚地用更大的力道彈出方塊,不必擔心方塊飛出靶子之外的情況。戰鬥系統本身湧現出了一種戰鬥的戲劇性,你一開始可能很難對怪物造成致命的傷害,但當你沒有放棄、持續輸出一段時間後,你就會發現怪物開始疲憊,這個時候你就更容易對它破防,造成大量傷害。順帶一提,相信你也看出了這個情況下的正反饋循環了。
在戰鬥的最後,同學B和同學C都用完了所有的方塊,而同學A只剩下6個方塊。他顯得非常的緊張,因為之前他幾乎所有的方塊都因為用力過大而失誤,此時怪物還剩下9點血。在這個時候,兩名隊友和在場圍觀的同學都開始激勵這個同學,他們通過前面的戰鬥知道這場戰鬥很難勝利,但我此時已經幾乎確定了同學A肯定可以打敗boss,因為戰鬥的難度已經在不知不覺中降低了很多。不出所料,同學A幾乎每一次攻擊都命中了boss,甚至只用了4個方塊就結束了戰鬥。在結局已定的那一刻,所有的同學們都開始歡呼,慶祝這艱難又充滿戲劇感的勝利。而我,靜靜地看著大家的反應,很欣慰自己設計的遊戲將快樂真真切切的傳遞給了我的玩家們。

暫告段落

以上就是我目前階段能夠分享的一些遊戲設計的理念了,希望我的講述能讓大家有所收穫。在文章的最後,我想要推薦大家一本書,叫做《Rules of Play (by Eric Zimmerman)》,我在文章中的提到的很多知識都是對這本書一些對應篇章的總結,這也是我們課上的必讀書目。如果有英語能力的朋友們有興趣可以去翻閱一下,相信能給予你更多更深刻的理論知識。
最近我在製作我的期末項目,是一個關於“時間循環”的桌遊。如果之後測試的反響比較好的話,我也會藉著這個案例再分享一些新的設計思路和方法。最後,還是希望每一個遊戲設計的初學者們能夠保持激情,知行合一,期待你們在不遠的未來設計出的能給大家帶來快樂的遊戲作品!

© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com