《遊戲設計進階:一種系統方法》筆記2:定義系統


3樓貓 發佈時間:2023-01-29 16:32:07 作者:夜永陵 Language

在這裡,我們會討論系統是如何組織起來的,以及新事物和新體驗是如何從系統的不同部分中產生的。

系統意味著什麼

系統就是事物,事物就是系統。系統實際上早在我們身邊俯拾皆是,它們組成了我們生存的物質世界以及我們協助創造的社交世界。然而,重要的是要記住,系統是動態的,而非靜態的:你不能通過將系統固定在特定位置來理解它;而必須通過體驗其在具體實際環境中的運作來真正理解。

簡要定義

為了提供一個不敷衍的簡短定義,系統可以被描述如下:
一系列部分的組合,這些部分一起共同形成了它們之間的交互循環,以創建一個持久的“整體”。整體有它自身的屬性和行為,這些屬性和行為屬於該組合,但並不屬於其中的任何單個部分。
在本章中,我們將會將其拆解(之後再組裝回來),以更加接近一個正式的定義和詳細的詮釋:
  • 系統由部分組成。部分具有內部狀態和外部邊界。它們通過行為與其他部分進行交互。這些行為發送信息(更常見的是各種資源)到其他部分,用來影響其他部分的內部狀態。
  • 部分之間通過行為進行交互,以創建循環。行為創建局部交互(A到B),循環則創建傳遞交互(A到B到C再到A)。
  • 系統被組織到按照層次結構整合的一系列層級中,這些層級源自基於它們循環結構的湧現屬性。在每個層級中,系統都會表現出有組織的狀態和行為,意味著其也是下一個層級的更大系統中的一部分。
  • 在每個層級,系統都表現出持久性適應性。它不會很快分崩離析,會不斷自我強化,並且能夠容忍和適應存在於它的邊界之外的不同條件。
  • 系統呈現出有組織、分散但同時亦協調一致的行為。一個系統創建一個統一的整體——而這同時又是一個更大系統的一部分。
現在我們將更詳細的研究系統的各個方面。

部分

每個系統都由不同的部分組成,系統本身也可以被拆分成不同的部分:如分子中的原子,鳥群中的鳥。
每個部分都獨立於其他部分,每個部分都有自己的特徵並各自行動。具體來說,每個部分都由其狀態邊界
行為所定義。
狀態
每個部分都有自己的內部狀態。它們由屬性組合而成,每個屬性在任一時間點都有其特定的。因此,鳥群中的每隻鳥都有各自的速度、方向、質量、健康情況等。每種屬性各自有一個值,代表該屬性的當前狀態。部分的總體狀態是所有當前屬性值的集合。
在現實世界中,對象的狀態並不是由一個簡單的、擁有值的屬性所定義的。相反,狀態湧現自各個子系統的聚合狀態,這些子系統處於更低或者更細化的組織層級中。
在遊戲中,一個部分的狀態通常由更細節層次的各個部分所擁有的狀態來決定:森林可能沒有自己的“健康”屬性,但可能使用定義在其中的每棵樹的狀態集合。然而,在某些時候你必須“觸底”並創建擁有屬性-值對的簡單部分。例如,國際象棋中的棋子具有“種類”以及“在棋盤上的位置”這兩項屬性作為它們的狀態。
邊界
一個部分的邊界是一種湧現屬性,由它內部的子部分相互作用的局部領域所定義。
部分之間的邊界並不是絕對的而是概念性的,因為一些局部部分同樣需要與邊界“之外”的部分互動。
定義事物是在某部分的“外部”還是“內部”,典型規則是該事物能否改變更高層級系統的行為。如果是,那麼它就在邊界內,是系統的一部分,反之亦然。
使用邊界可以讓系統的各個部分更易於理解和複用,同時也消除了以來各種形式的集中控制所帶來的誘惑。
每個網頁都是整體系統的一部分,沒有什麼在控制整個網絡,如果其中一個消失了,其餘的仍然會繼續工作。(Weinberger,2002)
行為
部分之間通過行為來相互影響。每個部分都有它所做的事情——通常是在系統中創建、更改或者銷燬資源。通常會通過向其他部分傳遞一些資源或值的變化來影響它們。一個給定的部分也可以通過它自己的行為來影響自身,比如遊戲中的怪物隨著時間流逝治癒自己的傷勢。
與行為相關的一個重要概念是,一個部分可能會通過行為擾亂或影響其他部分,但每個部分是自主決定自己內部狀態以及對任何行為的反應的,這取決於它自身的內部規則。用面向對象編程的術語來說,每個部分都封裝了它自己的狀態,這意味著沒有其他部分能“進入”並改變它。
對於“部分之間的資源傳遞”,《遊戲機制》一書中有更詳細的介紹,此處不展開討論。
簡單、複雜與複合
彼此連接形成系統的部分總是以構成循環的方式來形成系統。循環系統往往會變得複合化。非循環系統可能會創建複雜的過程,但最終它們往往不會創建複合的系統。這對系統設計整體(特別是遊戲設計)有重要的影響。
簡單的集合與複雜的過程
如果各部分沒有任何影響彼此狀態的行為,那麼它們就構成了一個簡單的集合,而不是一個系統:一堆沙子或者一堆水果。
簡單的集合

簡單的集合

一個複雜的過程具有多個部分以及多個交互。然而,這些部分是按順序相互連接的,彼此之間的影響也只是線性的,沒有遊戲循環來創建反饋,這樣的過程並不會形成一個系統。
現實中複雜集合的例子有很多,從簡單的單擺、流水線工序到更復雜的發射火箭到月球,後面的過程都不會對前面的過程造成影響。
在遊戲設計方面,向玩家展現出有序關卡的遊戲更傾向於複雜而不是複合:通常關卡10以上發生的事情對關卡2時的狀態或玩法不會有影響。這種有序的而不是系統化的遊戲設計需要設計師創造出更多內容,因為一旦玩家通過了遊戲的一部分,這部分內容的玩法的價值就會大幅降低。
複合系統
當各個部分連接在一起形成一個循環,並以此相互影響時,這些循環就創建了一個複合系統。
我們生活的方方面面都有著許多複合系統的例子,包括人體、全球經濟、一段羅曼史、颶風、白蟻丘,當然還有很多遊戲。這些系統的每一個都具有如下特性:擁有多個獨立部分,每個部分有自己的內部狀態,並通過它們的行為,以形成反饋循環的方式相互影響。正如你即將在這裡看到的,它們還會對外部隨時間發生的變化保持適應性魯棒性(Robust),併產生有組織的行為以及湧現屬性。

循環

複合系統包含具有行為的部分,這些行為以形成循環的方式連接各個部分。而這些循環在很多方面都是系統和遊戲中最重要的結構。認識並有效地構建它們是在系統中工作的關鍵。
作為最基本的性質,循環可能是建設性的,也可能是破壞性的。在系統性思維中,它們通常被稱為強化循環平衡循環
強化循環
強化循環包括兩個或更多的部分,每個部分增加下一個容器中庫存的資源數量,從而增加其行為輸出。這種循環在生活和遊戲中能找到很多示例。
一般而言,強化循環會提升相關部分的價值或行為。在遊戲中,它們傾向於獎勵獲勝者,放大遊戲中的早期成功,以及打破遊戲玩法的平衡。 而早期處於劣勢的一方可能會進入惡性循環,難以翻身。
平衡循環
平衡循環與強化循環相反:每個部分會減少或減弱循環中下一部分的價值和行為。
平衡循環的兩個簡單例子。第一個是烤箱恆溫器。第二個是遊戲中對升級經驗值的處理:在升級時,升到下一級所需的經驗值會超過到當前這一級所需的數量,以此來減慢角色升級的速度。
平衡循環用於維持或恢復循環中各部分間的平衡或公平性。
組合、線性與非線性效應
捕食-獵物
野兔繁殖,增加(強化)它們的數量,然而,猞猁會吃掉野兔,這樣將減少(平衡)野兔的數量。結果,當野兔的數量減少時,猞猁會難以生存,因為它們的食物少了。
從這個複雜關係中湧現的,不是一簡單的線性平衡,而一個非線性振盪圖。

Lotka-Volterra或捕食者-獵物方程

Lotka-Volterra或捕食者-獵物方程

混沌與隨機性
隨機效應
一個隨機的系統是不可預測的,至少在某個範圍內是不可預測的。
在遊戲中,像這樣的系統可以用來模擬我們並未實際建模的低級系統的行為:與其讓一個系統的輸出總是相同,不如讓它在指定的範圍內隨機變化。
混沌效應
這些系統是確定性的,意味著原則上如果你知道系統在某個時刻的完整狀態,你就能預測它的未來行為。然而,這些系統對條件的細微變化也是高度敏感的。例如,雙擺運動從兩個略微不同的起始位置分別先後啟動雙擺或其他混沌系統,會導致兩組完全不同的行動軌跡。
此外,混沌系統有時又會表現出非混沌行為。當一個混沌系統本身可以非線性地運行時尤其明顯。這種事件通常被稱為“共振事件”。較常見的例子是青蛙共鳴會從無序逐漸變得有序、從鬆散的個體發聲變成集體共鳴。
循環結構的例子
湧現
當一個複合系統中的強化循環和平衡循環處在一種動態平衡中時,它們會產生一個亞穩態的、有組織的系統行為。
這樣的整體亞穩態是一種湧現效應,是由多個部分的行為所產生的。湧現效應創造了與任何單個部分在性質上完全不同的新屬性,並且不是由各個部分本身簡單疊加所產生的。這樣的亞穩態還能使系統中所有部分的行為產生其他的湧現效應。
例如,在一群魚中,每個部分(每條魚)都有其內部狀態,如質量、速度、方向。一群這樣的魚,其總體重量並不是湧現屬性。然而,魚群的形狀可能時湧現的,比如它們可能會形成一個密集的形狀以躲避捕食者。
當內部各個部分相互作用產生亞穩態結構時,該結構:
  • 不由其中任意一個部分所決定。
  • 不基於其所有部分屬性的線性和。
  • 相比各個部分及它們之間的關係(“每條魚的位置、速度和方向”這樣冗長的敘述),更容易從“聚合”(一個球狀魚群)方面進行描述。
然後就湧現出一個具有自己獨特屬性的新事物。
向上與向下因果關係
組織層級
這裡再次提到基本思想,即一個正常運轉的亞穩態系統會創造新的事物。這個事物的屬性(它的狀態、邊界和行為)通常是在其內部各個部分彼此循環交互的過程中湧現出來的。一旦這樣的新事物作為基礎部分的集合湧現了出來,我們就把它描述為組織的“更高層級”。按照位次,從夸克,到質子,到原子,到分子,再到行星、太陽系、銀河系乃至更大規模的事物,是很容易被認識出來的。
像邊界一樣,這些層級並不是絕對的或者外部定義的。它們是一種湧現屬性,通過一些部分的狀態、行為和循環一同工作而創造的新的可識別屬性。這樣,在某個層級上的系統就成為更高組織層級系統的一個部分。
結構耦合
這種層次組織——部分內部又存在更小的部分——是有組織系統的另一個標誌。它也帶來了Maturana (1975)所稱的“結構耦合”。這就是當“反覆的交互(導致)兩個(或更多)系統之間結構一致”時發生的情況。
這些系統,是緊密交互的更高級系統中的部分。每個部分都通過某種方式將自己塑造成其他系統,並從中獲益。通過這種方式,它們彼此改變並創造了一個新的、緊密集成的更高級系統。這其中的例子包括馬和騎手、汽車和司機,以及許多共同進化的關係,就像昆蟲與花隨時間相互影響,併成為它們之間相互關係的一個部分。
遊戲與玩家也形成結構耦合關係。這種結構耦合對於構建參與感與樂趣來說非常重要:遊戲與玩家間的密切交互可以使得互聯的循環很難被打破。
系統深度與優雅

整體

系統用相互作用的組成部分構成了更大的整體。整體本身又是系統組織下一個更高層級的一部分。
在設計遊戲時,湧現出的終極整體不僅僅是遊戲本身。相反,它是由遊戲和玩家組成的系統。這樣一個遊戲+玩家的系統是遊戲設計師的真正目標;而遊戲本身,只是達到這一目標的手段。玩家所體驗的遊戲,以及在遊戲中採取各種行動的玩家,共同創造了整個系統。

總結

為了與系統的層次性保持一致,我們將系統中的所有部分和交互都過了一遍,現在可以回到本章開頭所給出的初始描述了。
系統是由獨立的、相互作用的部分所產生的統一整體。這些部分有著自己的內部狀態邊界行為,它們通過行為相互影響。這個整體隨著時間推移會持續存在,能適應外部條件,並且有著自己的協調行為,這些行為是由其各個部分的相互作用所湧現出來的。系統既包含較低層級的系統,自身又是較高層級系統的一部分。
雖然與本章開頭給出的定義的角度完全相反,但是這兩個角度是等價的。能夠以這種方式切換對系統的看法是非常重要的——既作為理解和“在系統中思考”的一部分,也作為遊戲設計過程的一部分。遊戲設計師特別需要能夠通過自下而上、自上而下或介於兩者之間的任何方式來觀察他們的遊戲。

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