天天看點

【三萬字長文】遊戲設計左道,複雜系統與湧現

作者:GameRes遊資網

作者:餘田,《流浪方舟》制作人,微信号yutianTerean

歡迎關注作者個人公衆号“魚塘遊戲制作工坊”

零、前言

這是一篇關于複雜系統在遊戲設計中應用的文章,整篇文章分為三大部分,第一部分介紹複雜系統和湧現,第二部分借由複雜系統提出一種新的度量遊戲的方法,第三部分會通過實際的原型設計,來深入探讨複雜系統和湧現在設計中的應用方式。

溫馨提示,全文字數3w+,預計閱讀時間較長,歡迎關注收藏慢慢看,一家之言,抛磚引玉,也歡迎各位朋友交流斧正。

一、複雜系統簡介

首先,複雜系統是什麼?

複雜系統有很多定義,比較簡潔的定義是:由大量相對簡單的自組織個體構成,個體之間通過簡單的規則互動,卻能湧現出複雜宏觀行為和現象的系統。

蟻群,大腦,經濟系統,免疫系統,生态系統,網際網路,元胞自動機,人類社會等等,都是複雜系統。

這裡的複雜系統定義有兩個關鍵詞,自組織(self-organizing)和湧現(emergent)。

“自組織”是指系統内部或外部沒有一個指揮者,告訴個體該怎麼做,而是個體自身通過規則控制自身。

“湧現”,就是指系統組成部分間簡單的互互相動,卻在宏觀層面産生了新的特性或行為,這些新特征或行為稱為“湧現”。這是非線性系統的特征,即1+1>2,另一種說法就是整體大于部分之和。

複雜系統研究是一個跨學科的科學研究,涵蓋了許許多多分支,下圖是複雜系統科學的分布圖,來源網站https://www.art-sciencefactory.com/complexity-map_feb09.html:

【三萬字長文】遊戲設計左道,複雜系統與湧現

對複雜系統研究的重視比較晚,目前也處于探索之中,沒有公認的定義,統一理論或一般性原理。對不同複雜系統的共性探索一直是重中之重,不同領域的科學家提出了自己的理論,但還未完全達成共識。

而我們隻關注複雜系統在遊戲中的應用,一般來說,複雜系統在遊戲中的應用分兩個大方向:

  1. 以代理(人,動物,AI等)為核心的複雜系統,例如蟻群,公司,社會,經濟系統等。沙盒,故事生成器類遊戲用的比較多,例如kenshi,《模拟人生》系列,環世界,矮人要塞等等。
  2. 以客觀規則為核心的複雜系統,例如基于實體化學規律的湍流,天氣,N體運動等。實體模拟類遊戲,應用主動布偶的遊戲,程式設計類遊戲,某些建造組裝類遊戲等等

當然兩者也可以結合,但一般因性能和複雜度考量,都會有所側重。

筆者最近的兩個遊戲也深入應用了複雜系統和湧現的設計元素,最近的遊戲《流浪方舟》利用了實體系統作為複雜系統,為我們産生有利的碰撞位移湧現,是以客觀規則為核心的複雜系統利用。

而上個遊戲《追随者聯萌》中實作了GOAP和行為樹結合的AI,令整個NPC的行為互動組成一個複雜系統,是以代理為核心的複雜系統。關于GOAP的介紹,可以參考筆者之前的一篇介紹文章:

https://mp.weixin.qq.com/s/U9CmZ2uTEv91KPosHDFZRQ

總而言之,複雜系統為我在遊戲開發領域,不論是技術還是設計,提供了很多不同的思考角度,是一個非常有用的工具。是以,本篇文章就是結合我的一些實踐和思考,跟大家簡單分享交流一下。

接下來三章,我們通過複雜系統中非常具有代表性的混沌系統,來揭開複雜系統的面紗一角。

二、混沌的發端,動力學與預測

人們讨厭宿命論,卻總想着預測未來。

——我說的

首先我們簡單介紹一下動力學。

動力學始于亞裡士多德樸素但錯誤的運動理論,後來伽利略,哥白尼,開普勒以實驗觀察推翻亞裡士多德流行了1500年的理論,再到牛頓橫空出世,發明了微積分,正式建立了經典力學。提出了著名的牛頓三定律:

  1. 在任何情況下,一切物體在不受外力作用時,總保持靜止或勻速直線運動狀态。
  2. 物體的加速度與物體的品質成反比。
  3. 兩個物體之間的作用力和反作用力,在同一條直線上,大小相等,方向相反。

在牛頓進一步提出萬有引力定律後,在當時,牛頓力學完美地解釋了一切物體的運動,其适用于任何大小的物體,不論是落下的蘋果,還是燃燒的太陽。理論上,人們若是知道一個物體的初始位置和速度,就可以計算出後續的運動,自然就有聰明的小朋友想到:若是知道宇宙中某一刻所有粒子的目前狀态,那是否就可以預知後面任何時刻的宇宙狀态。

上述精确預測的假說就是著名的“拉普拉斯妖”,數學家拉普拉斯在1814年說:

“我們可以把宇宙現在的狀态視為其過去的果以及未來的因。如果一個智者能知道某一刻所有自然運動的力和所有自然構成的物件的位置,假如他也能夠對這些資料進行分析,那宇宙裡最大的物體到最小的粒子的運動都會包含在一條簡單公式中。對于這智者來說沒有事物會是含糊的,而未來隻會像過去般出現在他面前。”

如今,我們有強大的計算機,無需一個多智近妖的智者,也許未來有了足夠強大的計算機就能做這個工作。如果真是如此,豈不是宇宙中的一切都已經注定,像一個上完發條的鐘表,遵循三定律一直循規蹈矩地走下去,這是一個多麼絕望的“決定論宇宙”啊。

還好1927年,海森堡(Werner Heisenberg)提出了量子力學中的“測不準原理”,證明不可能在準确測量粒子位置的同時,又準确測量其動量。如此,在微觀世界的準确預測夢破碎,也慰藉了不願相信宿命的人。

統計力學與預測

海森堡測不準原理隻針對微觀情況,而玻爾茲曼(Ludwig Boltzmann)建立的統計力學告訴我們,即使無法計算微觀尺度的每個分子的運動,也可以用統計學的方式預測大量分子整體上的平均位置和速度,當粒子數量足夠多時,他的方法“幾乎總是對的”。統計力學是連結熱力學和經典力學的橋梁,氣壓,熱力學第二定律都能很好的用統計力學來解釋。那麼即使微觀尺度上無法預測,宏觀尺度上,是否可以通過統計學方式來預測系統的整體變化呢?

答案是不行,下面就是大名鼎鼎的混沌系統出場的時候了。

三、混沌系統

有時初始條件的微小差異,将造成最終現象的極大改變。前者的小誤差,會造成後者極大的錯誤。預測将成為不可能的事,我們面對的是偶發現象

——龐加萊,《科學與方法》,1908年

1959年,42歲的數學和氣象學家愛德華·羅倫茲(Edward Lorenz,1917—2008)在嘗試用一個原始的計算機來預測天氣,結果發現輸入參數時微小的差異會造成兩次結果完全不一樣,即使兩次預測計算機每一步的計算方法都一樣。

【三萬字長文】遊戲設計左道,複雜系統與湧現

後來,羅倫茲在一場學術會議上發表了論文來探讨這種對初始條件十分敏感的天氣系統,論文題目叫——《巴西的一隻蝴蝶舞動翅膀,可以引發得州的龍卷風嗎?(Does the Flap of a Butterfly’s Wings in Brazil Set off a Tornado in Texas?)》,這就是著名的“蝴蝶效應”(The Butterfly Effect)。

天氣系統就是一個典型的混沌系統,這裡可能有點反直覺,為什麼有些系統對初始條件就這麼敏感?答案在于混沌的“非線性”和“自我引用”特性。

下面介紹一個經典的可以展現混沌本質的數學抽象——邏輯斯蒂映射(logistic map),它非常簡單,其特性又非常令人震撼和着迷,我第一次讀到時有種醍醐灌頂的感覺哈哈。這裡主要引用梅拉妮·米歇爾的著作《複雜》的邏輯斯蒂映射一章,非常推薦大家讀讀這本複雜系統的科普讀物。

這是邏輯斯蒂映射的方程:

【三萬字長文】遊戲設計左道,複雜系統與湧現

X(t)是目前值,X(t+1)是下一步的值。R是一個參數,我們可以自己調,先不管。我們要做的很簡單,定一個R,然後以一個介于0-1之間的X(0)開始,代入這個公式,得到X(1),然後把X(1)代入公式,以此類推不停得到新的值即可。這就是一個非常簡單的“非線性”的方程。

讓我們試試R=2時會怎麼樣,我們會發現有意思的事情,就是不管X(0)輸入的是什麼值,最終X(t)都會停留在0.5這個值,這個0.5正是所謂的不動點(fixed point):到達這一點所花的時間依賴于出發點,但是一旦到達就會保持不動。當R=2.5時,你同樣會發現系統到達一個不動點,不過這次不動點是0.6。

【三萬字長文】遊戲設計左道,複雜系統與湧現

而當R=3.1時有趣的事情開始開始發生:

【三萬字長文】遊戲設計左道,複雜系統與湧現

不管X0輸入的是什麼值,最終Xt都會在兩個值(0.5580141和0.7645665)之間振蕩。如果将前者代入方程,就會得到後者,反過來也是一樣,是以振蕩會一直持續下去。這種最終的變化位置(無論是不動點還是振蕩)被稱為“吸引子”,因為任何初始位置最終都會“被吸引到其中”。

往上一直到R等于大約3.4,邏輯斯蒂映射都會有類似的變化:在疊代一些步驟後,系統會在兩個不同的值之間周期振蕩(最終的振蕩點由R決定)。因為是在兩個值之間振蕩,系統的周期為2。

但是如果R介于3.4和3.5之間,情況又突然變了。不管x0取何值,系統最終都會形成在四個值之間的周期振蕩,而不是兩個。例如,如果R=3.49,x0=0.2,x的值很快就開始在四個不同的值之間周期振蕩(它們分别大約是0.872,0.389,0.829和0.494)。也就是說,在3.4和3.5之間的某個R值,最終的振蕩周期突然從2增到4。最終的結果就像下圖那樣。

【三萬字長文】遊戲設計左道,複雜系統與湧現

接着,更有趣的事情來了,在3.54和3.55之間的某個R值,周期再次突然倍增,一下躍升到8。在3.564和3.565之間的某個值周期躍升到16。在3.5687和3.5688之間周期又躍升到32。周期一次又一次倍增,前後R的間隔也越來越小,很快,在R大約等于3.569946時,周期已趨向于無窮。當R等于大約3.569946時,x的值不再進入振蕩,它們會變成混沌。下面解釋一下。将x0,x1,x2……的值組成的序列稱為x的軌道。在産生混沌的R值,讓兩條軌道從非常接近的x0值出發,結果不會收斂到同一個不動點或周期振蕩,相反它們會逐漸發散開。在R=3.569946時,發散還很慢,但如果将R設為4.0,我們就會發現軌道極為敏感地依賴于x0。我們先将x0設為0.2,對邏輯斯蒂映射進行疊代,得到一條軌道。然後細微地變動一下x0,讓x0=0.2000000001,再對邏輯斯蒂映射進行疊代,得到第二條軌道。圖2.14中的實心圓圈連成的實線就是第一條軌道,空心圓圈連成的虛線則是第二條軌道。

【三萬字長文】遊戲設計左道,複雜系統與湧現

這兩條軌道開始的時候很接近,但是到後面,兩條軌道開始分開,并且毫不相關。這就是“對初始條件的敏感依賴性”的由來。

這就是混沌最簡單的表現方式之一,隻要一個公式,就能告訴我們,如此簡單的邏輯斯蒂映射,并且完全是确定性的:每個xt值都有且僅有一個映射值xt+1。然而得到的混沌軌道看上去卻非常随機。此外,對于産生混沌的R值,如果初始條件x0有任何的不确定性,對一定時間之後的軌道就無法再預測了。

是以,如果對于一個實際的混沌系統,即使它簡單到隻有一個粒子,它的初始狀态中若有個參數是無理數(絕大多數數字其實是無理數,有理數隻是少數),例如大家最熟悉的π,那我們就要建造一台可以輸入無限位數小數的機器,否則無論我們精确到小數點後多少位,那一位後面的誤差就會導緻一定時間後,整個混沌系統都無法預測。這就是“失之毫厘,謬以千裡”。

至此,不論從宏觀上還是微觀上,預測未來都不可能。

四、混沌系統和遊戲

前文提到我們的遊戲《流浪方舟》是應用了基于規則的複雜系統,簡單描述遊戲玩法,是雙方玩家各控制五個球體英雄,互相碰撞進行戰鬥,其碰撞和反彈都是模拟的實體規則,并且有PVP的玩法。而我們遊戲的機制,其實就已經組成了一個典型的N體系統(沒錯,N等于三就是大名鼎鼎的三體系統),也是以遇到了混沌效應。

我們用的是幀同步方案,在不同的手機上,我們遇到了兩個玩家不同步的問題。排除各種原因包括網絡因素後,發現原因是不同機器上的浮點數運算有微小的差異(真的非常微小)。于是,某個回合微小的差異,會在幾回合後使得雙方的戰場情況完全不一樣,直接變成各打各的了。後來,我們隻能是放棄Unity自帶的實體系統,自己重新實作了一個定點數精确實體系統,非常慘烈。是以,遊戲利用了複雜系統,也要承受複雜系統可能帶來的問題。

當然反過來說,我們也利用了複雜系統的湧現現象。對于遊戲來說,湧現本身不是目的,而是湧現能為遊戲帶來什麼。

首先,湧現能為遊戲帶來意料之外的體驗,該部分的體驗是玩家不可控的。若開發者能在這部分進行部分控制,則可以進行更多發揮。當然意料之外的體驗也是新體驗,湧現本身創造了新的體驗。

同時,湧現的妙處在于并不是所有過程都是不可預測的,往往有一小部分是可以預測的,這會帶來一定适應性,可以适應不同水準或者意願的玩家。但是複雜系統的的突變也會帶來一個相變的臨界點,這個臨界點又可以保證不同玩家對湧現的掌控不會相差太多。

舉例我們遊戲的實體碰撞系統,複雜度來自多體運動,玩家無法預測N次碰撞後的情況,但是大多數玩家是可以預測1次碰撞後的結果,這就是初始可預測部分,這部分會進入玩家的政策考量中,而對于一些更具政策的玩家,首次碰撞反彈後的第二次碰撞,也能預測部分,這就是适應性,但是當反彈三次或以上,基本沒有玩家可以預料局面,這就可以類比為混沌相變的臨界點,用以把控不同玩家的政策差距,甚至理論上,即使有個類似深藍的超級計算機來算,也無法完全把控N變大後的情況。

混沌系統隻是複雜系統的一個分支,但确實是一個了解複雜系統的敲門磚,大概了解了複雜系統是什麼之後,我們來看看遊戲與其更深的關系。

在設計複雜系統的時候,大家會發現,遊戲和複雜系統的界限是非常模糊的,一個複雜系統,往往加上一些合理的目标和挑戰,就是一個具備一定可玩性的遊戲。而很多遊戲本身,就是一個複雜系統。也是以,對複雜系統的一些研究,同樣可以化用到遊戲設計,例如複雜系統對“複雜度和資訊”的研究,對遊戲設計就非常有價值。接下來的部分章節,筆者會探讨一種度量和優化遊戲的方式,若對此不感興趣,可以跳到第八章。

五、度量“複雜”

首先我們來看看科學家們是怎麼是度量複雜系統的“複雜”程度的:

1.規模度量

最簡單的度量就是規模大小,但是很顯然是不對的,畢竟單細胞變形蟲的堿基對數量是人類的225倍。

2.香農熵

另一種直接的複雜性度量就是香農熵,香農熵定義為資訊源相對于資訊接收者的平均資訊量或“驚奇度”。也就是說若資訊高度有序,例如“A A A A A A A……A”,則熵為零。完全随機的序列則有最大可能熵。這種度量明顯也是不夠的,完全随機的序列對資訊接受者來說也沒有意義。是以最複雜的對象既不是最有序的,也不是最随機的,而是介于兩者之間。

3.計算機描述

第三種度量方式是由柯爾莫哥洛夫(Andrey Kolmogorov)、查汀(Gregory Chaitin)和索羅蒙洛夫(Ray Solomonoff)分别獨立提出,他們将事物的複雜性定義為能夠産生對事物完整描述的最短計算機程式的長度。這被稱為事物的算法資訊量。對于學計算機的小夥伴應該很好了解,也就是表達一個東西需要多少代碼。

例如一個遊戲A最少可以用10行代碼寫出來,另一個遊戲B卻要用100行代碼,那按算法資訊量,遊戲B就比遊戲A複雜。這個乍看合理,其實也有局限,100行代碼一定比10行複雜嗎,代碼本身的複雜度是簡單的線性嗎。本質上這是把系統的複雜度抽象轉移到了代碼上面,并沒有完全解決問題,隻是把系統的複雜度問題變成了代碼的複雜度問題。

4.統計複雜性

第四種度量方式是實體學家克魯奇菲爾德和卡爾·楊(Karl Young)定義的一個稱為統計複雜性(statistical complexity)的量,度量用來預測系統将來的統計行為所需的系統過去行為的最小資訊量。統計複雜性與香農熵相關,定義中系統被視為“消息源”,其行為以某種方式量化為離散的“消息”。對統計行為的預測需要觀測系統産生的資訊,然後根據資訊構造系統的模型,進而讓模型的行為在統計上與系統本身的行為一緻。

例如,序列ACACACACAC的資訊源模型可以很簡單:“重複A C”;是以其統計複雜性很低。然而,與熵或算法資訊量不同,對于産生序列ACGTGGTAGC的資訊源也可以有很簡單的模型:“随機選擇A、C、G或T。”這是因為統計複雜性模型允許包含随機選擇。統計複雜性的路徑成本是預測系統行為的最簡單模型的資訊量。是以,對于高度有序和随機的系統,統計複雜性的值都很低,介于兩者之間的系統則具有高複雜性。

第四種度量方式不止符合直覺,還有值得我們思考的是,它并不完全度量系統本身,還通過對系統演變的預測來度量系統本身的複雜度。

還有很多度量複雜性的方法,不一一贅述。各種度量都有一定可行性,但都存在的局限性,還遠不能有效刻畫實際系統的複雜性。度量的多樣性也表明複雜性思想具有許多元度,也許無法通過單一的度量尺度來刻畫。

而對于大多數系統例如遊戲,并不是一成不變的,而是不斷更新疊代,對未來可能性預測來反推目前的複雜度是一個有趣的方向。

六、複雜系統和遊戲有效資訊度

相信很多設計師在設計遊戲的時候,都曾想要“度量”自己的遊戲,“可玩性”,“複雜度”,“上手難度”等等,這些都是非常難以統一定義和量化的标準。我們在本文,不讨論“可玩性”這個過大的話題,隻聚焦于對遊戲有效内容量的探讨,有效内容量,也可以從很多個角度來側面地衡量,例如遊玩時長,系統複雜度,系統深度等等。而我們的角度不同,是從資訊層面上,來度量和優化一個遊戲,筆者稱為“遊戲有效資訊度”。

遊戲有多種抽象方式,其中有一種抽象就是:玩家接受資訊,與遊戲互動,影響遊戲,遊戲回報資訊的這樣一個循環。資訊是互動的彈藥,是政策的基礎材料,已知資訊作為安全感來源和決策的輸入,未知資訊作為鈎子吸引玩家探索,作為不可控因素帶來變化等等。

“遊戲有效資訊度”就是指整個遊戲系統所提供的内容,通過一定規則展現後,對于玩家預期來說,具有意義的資訊量。這個資訊量越大,我們可以認為遊戲内容越豐富,遊玩價值和可玩性往往更高。

遊戲的資訊豐富度當然不完全等于可玩性,但是對所有玩家或人類來說,都有不停擷取新資訊的欲望,同時人類又是高效的模式識别機器,當玩家熟悉特定模式和規律,一直沒有新資訊攝入,則會快速感到無聊。資訊刺激,本身也是可玩性的重要一環。

接下來我們舉個具體例子,來探讨一下有效資訊度的概念:

舉例,現在我們做了一個線性關卡的遊戲A,每一關擊敗一個不同的敵人,即可去下一關,直到通關,關卡與關卡之間并沒有直接的聯系。

假設我們制作了一系列的關卡内容,例如10關,我們預期這些關卡玩家會遊玩一次,通關後不再想玩,我們先假定,這個遊戲的有效資訊度為10。

以此為前提,有幾個有趣的問題:

問題1

這時候,加入一個設定,通關後所有關卡會打亂,假設我們預期玩家會因為這個設定再通關一次,耗費了玩家雙倍的時間。

那這個遊戲的有效資訊度會變成20嗎?

如果不是,那是更偏向10還是偏向20?

問題1探讨

很顯然,不是20,重點就是有效資訊度不等于遊玩時長,而是玩家對内容的感覺,能接受到的有意義的資訊量,而關卡若隻是打亂随機,對于玩家遊玩來說,關卡資訊并沒有變化,換句話來說沒有新的資訊給到玩家,也就沒有新的體驗。是以問題1的遊戲有效資訊度應該是接近并略大于10的一個值。注意,我們在此并不關心有效資訊度的絕對精準值(也無法做到完全精準),我們隻需要盡量定量,并且通過對比分析等方式逼近實際值即可。這個問題也呼應了複雜系統複雜度的度量,純随機和純秩序,複雜度都很低。(是以優秀rogue的重玩性并不是隻來自随機)

問題2

在問題1 的讨論我們已經知道,遊玩時長和次數是結果,并不等于有效資訊度。在這個基礎上,所有關卡打亂後,讓玩家可以一直重複遊玩,每次遊玩的關卡順序都會變化,那遊玩價值又有什麼變化?

問題2探讨

本質上消耗的是順序不同帶來的體驗價值

和前面的資訊呼應,純随機和純秩序都是資訊量較低的狀态,也就是遊玩價值不會很高

同時,讨論線性和非線性系統也有額外的意義,若關卡間的關聯小,則先A後B還是先B後A并沒有本質差別,而若關卡間是非線性地互相影響,則順序本身就被賦予了意義,或者說被賦予了額外資訊和複雜度,則可能産生更多的有效資訊度。是以重點不在于關卡打亂的随機,而是在于關卡間的關聯設計,是否賦予這個随機足夠的意義。

問題3

在原方案基礎上,多做了1關,并且設定為通關一次後,再次通關才可以玩到這個額外的關卡。

假設每個玩家都因為這個設定,重新通關一次,那此時這個遊戲的有效資訊度大約是多少?

和直接放出11關給玩家的差別是什麼?

問題3探讨

和問題1的探讨類似,也許這個遊戲的遊玩時長的度量接近翻倍,但有效資訊度隻是接近11左右,這意味着,玩家在近翻倍的體驗時間中,體驗的品質其實是有所下降。其實和直接放出11關給玩家沒有本質的差別。那麼為什麼還有很多遊戲會使用這個技巧來延長遊玩時間呢?其實是來源于除了上述遊戲機制本身之外帶來的可重玩性,類似問題2讨論的非線性關卡,這些額外的因素,使得遊戲的有效資訊度在其他次元得到了提升,是以不屬于問題3的讨論範疇。這個例子想要說明的是,有效資訊度的分析一定要客觀剝離其他因素,否則将失去參考價值。

問題4

還是這個線性關卡的遊戲,什麼都沒變,但是給與一個額外目标,通關時間,然後允許玩家重玩,遊戲有效資訊度又如何?

問題4探讨

這個問題,理論上有效資訊度相對于原方案并沒有太大變化,但是我們直覺會認為,相比原方案,該方案更具可玩性。這個問題想要說明的是,技巧挑戰等内在驅動力,會為相近有效資訊度的遊戲,帶來較為不同的可玩程度。這也是證明遊戲有效資訊度并不完全等于可玩性的例子。

問題5

基于問題4的額外通關時間目标的設計,更進一步探讨,若是遊戲中原本就有一個道具,本來強度一般,但對速通有幫助。是以,玩家在沒有通關時間目标時,和有通關目标時間時,有效資訊度的變化?

問題5探讨

我們可以看到,除了目标的變化,其他都沒有差別,理論上,資訊量完全沒有差别。但是實際上很顯然,後者有效資訊度一定大于前者。這就是“有效資訊度”定義裡的“有效”的意義:一份資訊,通過機制,轉化為對可玩性有意義的資訊後,才能稱為有效資訊。具體見下一章的探讨。

經過上面幾個問題,大家應該可以了解遊戲有效資訊度的意義,它雖然不等于可玩性,但是是對一定時間内,玩家體驗的豐富有效程度的一個度量。它尤其能幫助我們思考時摒棄無效遊玩時長的陷阱,并在一定程度上幫助我們對比衡量遊戲設計優劣。

七、有效資訊度與遊戲設計

有效資訊度如何切實幫助設計?我們應該如何看待,操作遊戲中的資訊?

玩家遊玩遊戲的過程可以視作一個接受資訊,處理資訊,獲得資訊回報的過程。設計師提供一系列的資訊給與玩家處理,玩家在處理這些資訊的時候,通過自身的操作和政策等,收獲不同的回報。對于一個玩法,持續有節奏地給與玩家适量的,有意義的新資訊讓玩家舒服地處理,則從資訊角度來說是一個好的玩法。

遊戲的資訊不是全部一次性釋放給玩家的,一個遊戲的資訊有很多種次元,例如規則資訊,遊戲世界環境的資訊,關卡以及挑戰的資訊,回報及收獲的資訊等等。玩家的目标挑戰回報循環中,每個環節都在不停釋放新的資訊。而新的資訊的意義是什麼?是産生新的變化。

但是,如前文所說,一份新的資訊,産生的變化往往不是一份新的遊玩體驗,而我們的目标,就是讓一份資訊,産生十份變化,最終轉化成兩份可玩性。

有限的内容下,如何規劃這些資訊将是關鍵。直接說幾種方法:

1、規則輔助對手産生新資訊

拿棋類遊戲-象棋舉例,象棋所有規則資訊,是不多的。而戰場環境資訊(目前棋盤情況)是千變萬化的,我們很容易得知道,象棋不是靠規則資訊的逐漸釋放來産生變化,同時象棋又不帶任何随機性,是以是個很好的例子,幫我們聚焦到這一方式——規則輔助人産生資訊。

人人間動态的博弈,帶來持續可玩性,不是什麼神秘的事情,但在資訊角度,其實是有要求的,人産生有意義的内容,需要規則進行引導,什麼叫引導?例如象棋裡對所有棋子移動方式的限制,就是一種引導,這些限制使得玩家能夠部分預料下一步對方會如何行動,進而結合場面,最終給與目前回合玩家,一個正在不停變化但又有決策參考意義的資訊,這個資訊将會結合對方玩家的行棋風格,水準等因素,産生多局之間的變化。

一個好的機制或者說規則,告訴玩家能做什麼是基本,更重要的是限制玩家不能做什麼,将無限的選擇空間壓縮到合理範圍且不政策收斂,并且讓對手每個選擇回報出新的資訊,例如,單步中沒有明顯的最優解,那是防守還是激進換子,其實暗藏對手風格資訊,這個資訊,是基于規則但超越規則的額外資訊收益。

2、輔助玩家自身産生新資訊

我們可以把遊戲抽象成目标挑戰回報三者循環,整體遊戲由無數個大小循環嵌套組成。從資訊角度我們可以有新的視角看待這個循環,每個部分都能通過設計輔助玩家産生新的有效資訊。

對于目标,往往是最明确簡單的資訊,對于單個循環一般不會刻意藏匿目标的資訊,因為對于設計來說,單個循環目标越明确越清晰越好。但整體上,目标可以有多個,可以逐漸釋放,可以引導玩家自身賦予目标,有非常大的操作空間,目标往往是一切的起點,會成倍放大其他資訊的效果。

最好的方式,就是刺激玩家自己賦予自己目标,例如沙盒遊戲,通過包裝世界觀等資訊,讓玩家想要爬上那個跟任務無關的山頂,想要拯救某個無關緊要的村民。設計師提供的資訊作為外因驅動作為引導,玩家自發産生的目标作為強大的内因驅動。

對于挑戰,分為挑戰本身和玩家克服挑戰的過程,例如政策和操作。對于這部分資訊的自發産生,來自挑戰本身需要提供足夠高的适應性,使得玩家自身情況的不同,能在挑戰和克服挑戰的過程中展現出來。同時要足夠敏感,玩家細微的變化,最好都要所展現。

舉個例子,完成挑戰的方式有多種傾向,玩家根據自身喜好,能力,選擇其中一個方式進行挑戰,此時,玩家所有的操作和政策,将會産生基于自身的獨一無二的資訊。

對于回報,這裡重點不在給與玩家的回報,而在于完成挑戰後給與系統的回報,重點在于前後不同挑戰間的關聯變化,也就是說,需要配合上述挑戰部分,玩家做出的細微差別,回報需要讓系統對接下來的挑戰産生足夠影響,就會産生指數增加的變化。如此配合,也是湧現的一種設計方式。(具體後面章節細說)

3、促進多人之間産生互動

和第一點本質一樣,稍有差別,留作思考題吧哈哈,分析麻将和雙人棋類間的差別即可。感興趣的朋友可以參考筆者的麻将相關的文章:https://mp.weixin.qq.com/s/RUFNdkrFy8e2oqEhsYp_Xg

4、逐漸釋放和重組資訊

玩家自發發現資訊,而不是設計師塞給玩家,發現的過程本身是一種有意義的獲得行為,會豐滿整個遊戲。這是一種較好的逐漸釋放資訊方法。

巧妙地重組資訊,來重用資訊。這點比較好了解,就不贅述了。

八、複雜系統與湧現應用

上面的章節簡單介紹了一下複雜系統以及和遊戲的一些關聯,由複雜系統啟發,提出了一個遊戲度量方面的不成熟想法,抛磚引玉。接下來的章節将會以實際的原型設計為案例,來深入探讨一下複雜系統和湧現設計在遊戲設計中的應用。

思維實驗

第一步我們先來做一個思維實驗,前文介紹過,現實世界就有很多複雜系統,我們不妨試着挑選現實中的某個複雜系統,假設我們是全能的計算機之神(狗頭),已經把這個系統百分百實作出來了,同時,作為設計師,我們知道,拟真不等于好玩,那現在,我們需要思考一下這個系統中不好玩的東西是什麼,去掉,好玩的東西是什麼,強化。再添加一點佐料,加入一點目标,設定一些挑戰,給與足夠的回報,這個時候,相信我們的腦海裡已經有一個也許簡陋,但也能成立的遊戲了。

對現實的抽象和剪裁過程尤為重要,我們會逐漸抽絲剝繭,把不重要的外在去掉,看到湧現的核心,來随便舉個例子。

假設我們取現實中的經濟系統作為我們的複雜系統,我們先賦予一個簡單的目标,就是賺得多少金錢。然後我們刨除掉一些備援的東西,最終可能剩下這麼一個系統:

系統中有若幹個經濟理性人,包含玩家在内,他們會想辦法以最小的代價去獲得最大的利益,這些決策實體我們統稱為“代理(agent)”——代理(agent)是一個計算機,人工智能和經濟學領域的術語,指的是接受資訊,進行決策,執行行為的主體,可以是人,AI,組織,一段程式等等。在這個過程中,代理們會和其他代理,和環境進行互動,進行時間,資訊,資源,收益的不停交換。想象一下,當這個系統運轉起來,我們在這個系統中的獲得的樂趣來源于什麼?與一個普通的交易模拟遊戲的差别在哪裡?

這個簡單的系統抛開聲光電回報等備援外在,我們可以發現,玩家的核心政策是收集資訊,根據資訊做出自己收益最大化的決策,自身的決策又會影響整個系統,系統改變其他代理的行為決策,每個代理的行為都相當簡單,但整體上會湧現出很多有趣的現象,例如哄搶,壟斷,通脹通縮等等現象,使得挑戰/問題/謎題動态變化,像是多隻蜘蛛在彈奏同一張蛛網。

以上,這個複雜系統在提供有意義的變化,産生新的可玩内容,這是重玩性的根本。同時,由于玩家對環境的影響足夠深遠,回報會更強。

讓我們再對這個遊戲加點料,假如這個遊戲加入了另一個玩家,雙方有同樣的目标,這時候我們很容易發現一點,複雜系統不可控的部分,正在平衡優劣勢,拉近不同水準玩家距離,同時部分降低操作和政策門檻。

更進一步,我們會發現,就類似于現實的經濟系統,我們這個簡陋的複雜系統本身就是一個自适應系統,有時候像海綿,吸收玩家和代理們的重大行為,減小影響,有時候又像喇叭,放大一些微小的噪音。而在這個時候,我們如果再為這個簡化版的經濟系統加入一些引導性的設計,例如價格和資源消耗的調控(類似央行和美聯儲),可以去操控它的海綿或者喇叭,達成改變和控制遊戲節奏的目的。

再進一步,我們不滿足于單個目标,若是我們加入了多個勝利條件,我們會發現,基于複雜系統本身的多目标,更好設計,更能滿足不同類型玩家的遊玩需求。

最後一步,讓我們把對方玩家又去掉,把玩家會進行的一些行為和代理的行為進行比較,把一些簡單的,玩家會額外進行的侵略性較強的行為,或是非理性的行為,賦予代理。并且把和玩家的對抗的目标改為和代理對抗,我們就會發現,相對于其他遊戲,在玩家感覺中,代理會更接近真實玩家。

當玩家面對一個整體的複雜系統,去對抗其中的一些代理時,要比對抗某一個NPC時,對系統智能的評價更高。因為玩家對一個客體的智能的評價,除了智能行為本身,還由很多和智能不相關的因素組成,例如外觀,強度,數量,環境等等。例如光環設計師在GDC分享過的一點,隻是單純的增加敵人的強度不改變AI,玩家對敵人的智能評價就會更高。例如帕魯正因為遠離人的形象,玩家對其智能期望低,反而覺得其智能表現不錯。複雜系統的不可控和可解釋是一種更好的“難度放大器”,同時,複雜系統放大行為的回報同樣适用于代理,這就是在解釋和掩蓋一些非智能行為。

通過以上這個思維實驗,我們可以大緻總結一下複雜系統和湧現的優勢,同時也是我們設計他們的目的:

  1. 産生有意義的變化,來提供新的體驗
  2. 增強玩家對環境的影響與回報
  3. 平衡優劣勢,拉近不同水準玩家距離,降低操作和政策門檻
  4. 改變和控制節奏
  5. 承載不同類型玩家的遊玩需求
  6. 部分替代其他玩家的作用

以上思維實驗中,每位朋友選取的複雜系統可能都不一樣,但當我們多思考幾個複雜系統,将真實世界抽象的過程中,我們會發現,複雜系統和湧現可以分為兩個偏向:

  1. 以代理(人,動物,AI等)為核心的複雜系統,例如蟻群,公司,社會,經濟系統等。
  2. 以客觀規則為核心的複雜系統,例如基于實體化學規律的湍流,天氣,N體運動等。

當然兩者混合也是一類,這裡不讨論,隻探讨這兩大類,這兩大類核心差別當然就是代理主體的存在與否。對于遊戲來說,這兩個偏向的設計方式相差非常大,第一類代理為核心的遊戲有模拟人生,SLG等等,而我的世界,noita,以及我們自己的遊戲流浪方舟,更偏向第二類。

接下來,我們會通過七個玩法原型,一一來窺探湧現設計的一些精華。這些都是紙面原型,隻需要簡單的紙筆,或者一些簡單的道具例如骰子就可以實作,感興趣的朋友可以跟着做出來玩一玩,會有更深的了解。如果對設計不感興趣的朋友,可以直接跳到第十六章結論和探讨部分。

九、原型1随機平替湧現

1.1設計目的

原型要求

  • 盡量簡單的規則,隻利用單純的數字,加減法
  • 能夠成立的基礎博弈,不會發生政策收斂
  • 能夠提供一定的政策深度,拉開不同玩家之間的差距
  • 有随機性的空間,用随機來模拟湧現
  • 能夠展現重玩性,優劣勢平衡等特征

随機和湧現的異同:

  • 由于一個由确定性導出混沌,另一個由随機性導出混沌,對于玩家的感覺來說,前者的掌控程度遠大于後者,也就是說,玩家會更覺得湧現的結果和自己的決策或者輸入相關。同時,玩家對于兩者發生結果的歸因會有差異,随機性的結果玩家會更歸因于系統,湧現若是設計的好,玩家會更歸因于自身。這個特性,是湧現優于随機性非常重要的一點,也對遊戲設計有非常重要的意義。
  • 第一點是感覺上的掌控程度,而實際上,對于玩家來說,湧現部分理論上也是可掌控的,對不同情況的玩家适應性會更強。
  • 兩者從确定到不确定的起始節點,是完全不同的,随機*随機,某一層随機,往往就是混沌的起點,相對離散,而湧現則連續很多,這一點對設計也很有意義。
  • 湧現是确定性的,就像前文展示的邏輯斯谛方程一樣,每一步疊代都是确定的,可計算的,隻是超過計算能力的部分,對于計算者來說,就是混沌不可預料的。
  • 對于随機來說,即使不同随機結果的機率已知,對于計算者來說,仍舊是不可控的結果,若疊加了很多重随機,也就是我們常說的随機*随機,這個時候更容易出現對于機率預期不清,于是完全放棄這部分計算,變成混沌不可預料,對于這部分,随機和湧現在結果上有相似之處。

然而,兩者的混沌部分,仍舊有幾個非常重要的差別:

還有一些異同,總結在下表中:

【三萬字長文】遊戲設計左道,複雜系統與湧現

綜上,由于随機和湧現在不可控部分,有一定相似的特征,并且随機的實作難度遠小于湧現,是以原型一般先用随機來平替湧現,來驗證可行性。

1.2玩法規則

玩法概述

【三萬字長文】遊戲設計左道,複雜系統與湧現

雙人遊玩,有三個戰場,每個玩家四張手牌,共四個回合,每回合雙方放一張手牌到戰場,最終結算點數,三個戰場中獲勝占領兩個以上的玩家獲勝,平局按點數分勝負。

回合階段:

【三萬字長文】遊戲設計左道,複雜系統與湧現
  1. 雙方各從6張1——6的數字牌中随機抽取4張牌
  2. 從5種場地效果中随機抽取3個場地效果,先不揭示
  3. 揭示第1個場地效果,雙方各自選擇放入一張手牌在該戰場,背面朝上,然後揭示
  4. 重複上述,直到3個戰場各放置3張牌
  5. 第4回合,雙方将剩下的最後一張牌放在任意戰場,雙方不知道對方放置情況(拿兩張無用牌掩蓋)
  6. 揭示最後一張牌,結算結果

結算階段

優勝場地數量相同,則比較總點數,總點數高的玩家勝利

總點數相同,則視為平局

【三萬字長文】遊戲設計左道,複雜系統與湧現

例如場地内是1和2,場地效果是[小于等于3的數+1],則最終變為2和3

  1. 根據場地效果對每個數字單獨進行修正
  2. 對比每個場地内雙方的卡牌點數總和
  3. 總和較大的一方獲得該場地的優勝,一樣則平
  4. 優勝場地較多的玩家取得勝利

5個場地效果

  1. 單數卡片結果+4
  2. 雙數卡片結果+3
  3. 大于等于4的卡片結果+1
  4. 小于等于3的卡片結果+4
  5. 投六面骰,投中點數在該戰場視為7

1.3設計思路

基礎

  • 用簡單的數字創造1個原型玩法
  • 最小玩法為雙方各出1個數字比大小,大者勝

加入政策對抗和政策深度

  • 第1層:引入3局2勝的上校博弈,考驗玩家的資源配置設定能力
  • 第2層:加入第4張牌,第4張牌可以作為關鍵牌逆轉局勢,也可用來詐唬,考驗玩家的博弈能力
  • 兩層政策相乘,創造出足夠的政策深度

随機和對抗随機

  • 通過資源配置設定對抗随機
  • 通過推理對抗随機
  • 通過博弈對抗随機
  • 考慮場地效果的後續可能性去進行資源配置設定,對抗場地效果的随機性
  • 根據對方前3張牌,推理對方最後1張牌的數字,對抗對方手牌的随機性
  • 在牌處在劣勢的情況下,制定高風險高收益的政策,進行詐唬和偷雞,對抗我方手牌的随機性
  • 第2輪随機,随機範圍小,兩層小随機隻是承載一點重玩性和政策拉差,不加入過多政策負擔
  • 通過場地效果拉平各數字的價值,對抗第1輪随機,降低随機手牌對勝負的影響,防止政策收斂
  • 與第一輪随機同理,揭示第1個效果後,後續隻有6種組合,揭示第2個效果後,最後1個場地隻有3個選項,玩家隻需要在個位數的選項中,決定自己的資源配置設定政策
  • [雙數+3],[單數+4],單數額外+1,保證單雙數價值相同
  • [大數+1],[小數+4],小數比大數的加成多3點,拉近大小數價值
  • 随機1個數字變為7,第3輪小随機,提升廢牌(吃不上其他場地效果的牌)的價值,為玩家提供翻盤或詐唬的可能
  • 第1輪随機,随機範圍小,限制了不可控的部分
  • 決戰階段,對方最後一張牌隻有3種選項,玩家根據3個選項進行推理即可
  • 保證任何拿法,一方一定有至少一張單數雙數,至少一張小牌和大牌
  • 卡牌6随4
  • 場地效果5随3
  • 玩家對随機的對抗

1.4與撲克的對比優化

原型1已經以比較優雅簡潔的方式實作了一個随機替代湧現的方案,但是仍有不足之處,我們拿撲克來進行對比:

資訊暴露密度

  • 優化:在翻地階段雙方輪流出牌,降低暴露密度,後手玩家可根據先手玩家出的牌和場地效果去出牌,降低了後手玩家的推理量,後手玩家在翻地階段取得了資訊上的優勢,需要平衡雙方的優劣勢,可以在決戰階段,要求後手玩家先出牌并揭示卡牌所在場地,讓先手玩家在決戰階段獲得資訊優勢
  • 但上述的優化會引入先後手問題。
  • 撲克的資訊暴露頻次高,資訊量較小,每翻1次牌,每加1次注就暴露一層資訊,且前後關系聯系緊密,友善玩家進行推理,負擔較低。
  • 原型1的資訊暴露頻次低,但資訊量較大,每次翻2張牌,分析量翻倍,且需要通過全局的卡牌和地牌進行推理,負擔較高。

資訊可控程度和資訊範圍

  • 優化:随機場地效果後,直接揭示全部場地效果,或先揭示前2張,降低不可控的資訊。
  • 但是加入加注設定後,不揭示場地效果更好。
  • 撲克的河牌是已知的,不可控的資訊是對方的2張手牌,且玩家數量會越來越少,不可控的資訊會逐漸減少
  • 原型1中玩家有4張卡牌,對方的卡牌與卡牌配置設定政策,對于玩家來說是不可控的資訊,相對撲克數量翻倍,但因為隻有1——6,資訊範圍會相對減少
  • 原型1中還有3張場地效果,場地效果陸續揭示,在未揭示之前,這也是一部分不可控的資訊

勝利條件

  • 撲克勝利條件簡單,用卡牌花色和數字進行大小對比,玩家很容易處理
  • 原型1的勝利條件,涉及到優勝區域計算和點數計算,玩家不容易處理

1.5原型1總結

原型1通過非常簡單的規則,已經具備一定的可玩性和深度,同時具有重玩性。同時用兩道非常受控的随機來模拟湧現,已經可以感受出前述的兩個特性:

  1. 産生有意義的變化,來提供新的體驗。
  2. 平衡優劣勢,拉近不同水準玩家距離,降低操作和政策門檻。

這是一個很簡單的原型,主要是展示怎麼用随機來平替湧現,以及湧現在遊戲中的大緻感受,我們還可以以這個原型為基礎,不斷拓展規則,例如加入撲克下注的玩法:

隻需加入一個規則,前三回合,玩家可以在每一輪揭示戰場上的牌之後,點數大的一方進行下注,對方必須跟注才能繼續下一輪。同時一方也可以随時放棄,另一方拿走所有籌碼。

如此設計,在原先的政策基礎上加入了心理博弈,更發揮出每回合資訊暴露的政策樂趣,提高政策上限。

原型1是一個簡單的基于規則湧現的設計展現,接下來會從抽象即時戰鬥的原型開始,逐漸探索基于代理的湧現設計。

十、原型2即時戰鬥抽象

2.1設計目的

我們來嘗試抽象一場典型的即時制戰鬥,先将戰鬥簡化為1v1的兩個玩家,各操控一個機關,勝利目标是擊殺對方機關。其他各種衍生玩法都可以視作該單局最小戰鬥的變種。進一步抽象,玩家是在調配戰場中的所有資源,達成戰勝敵方的目的,将敵我雙方的所有資源分為如下幾個類型:

  1. 直接關聯勝負的生存能力,例如血量,續航等
  2. 直接關聯勝負的輸出能力,直接間接傷害,限制敵方續航等等
  3. 直接關聯勝負的生存輸出能力變體,例如機動性,限制敵方機動性的能力(同時包含生存和輸出能力)
  4. 前三個能力的間接版本,例如召喚物或環境的各項能力或者是他們賦予關鍵機關的能力

和之前的原型一樣,我們要用最簡單的規則,隻用數字的加減,來模拟這個戰鬥模型,這個原型同樣要達成以下幾個目的:

  1. 能成立的基礎政策博弈
  2. 對即時制1v1戰鬥有足夠準确的抽象表達,尤其是和戰鬥政策緊密相關的屬性,比如機動力
  3. 足夠健壯,适合拓展,作為後續湧現設計的基礎

2.2玩法規則

玩法概述

雙人對戰,玩家将資源投入到輸出/生存/機動屬性上,機動屬性可再進行一次配置設定,配置設定到[進攻]和[躲避]上,雙方互相攻擊,造成的傷害由玩家配置設定的資源情況決定,血量先歸0者失敗

玩法流程

受擊方[躲避點數]與進攻方[進攻點數]對比,每高1點,進攻方造成的傷害減少20%,至多減少100%,沒有進攻高,則進攻方造成傷害不變

  1. 将15點基礎點數配置設定到各自戰鬥機關的輸出/生存/機動屬性上,然後公示配置設定情況
  2. 将輸出屬性*10作為戰鬥機關的攻擊值,将生存屬性*100作為戰鬥機關的生命值(非必要,為了計算簡單,減少小數計算)
  3. 每回合戰鬥開始時,将機動屬性上的基礎點數進行1次配置設定(機動屬性高的一方可額外獲得1個點數),配置設定至[進攻]行為和[躲避]行為上,然後公示配置設定情況
  4. 高機動屬性的一方先進行攻擊,根據攻擊值對對方造成1次傷害,傷害需要根據雙方行為點數進行1次修正
  5. 雙方攻擊結束後,沒有機關血量歸0,則從步驟3重新開始,有機關血量歸0,結束戰鬥
【三萬字長文】遊戲設計左道,複雜系統與湧現

2.3設計思路

先采用最小機關,兩個戰鬥機關互相攻擊

用離散的回合來模拟即時,更直指本質

将戰鬥機關的優劣勢抽象成3個次元,輸出/生存/機動

引入點數,玩家需要配置設定點數到3個次元中,用簡單的數字進行戰鬥模拟

  • 機動能力高,則輸出/生存能力就會降低
  • 第一輪配置設定,通過限制點數的總和,模拟了機動能力對輸出/生存能力的影響

第一輪配置設定結束後,輸出和生存點數固定,機動點數可再進行配置設定

  • 機動能力可用于追擊對方,提升輸出能力
  • 機動能力可用于躲避攻擊,提高生存能力
  • 機動點數稍微比對面高,則在每輪的攻擊中占據優勢,但高于一定值後,将不再獲得收益
  • 機動點數的再配置設定影響戰鬥機關的傷害,再次模拟機動能力對生存/輸出能力的影響
  • 機動點數的再配置設定,每一輪戰鬥都允許不一樣,模拟了機動能力的轉化能力

2.4原型2多V多拓展

可以很簡單的将原型2拓展到多VS多的規則:

額外多一個目标選擇階段,機動力低的機關先開始選擇(相等時随機),標明目标後本回合不能改變

目标選擇完成後,進入機動性配置設定階段,規則有所補充:

機動性的進攻點數,隻能配置設定給該機關之前選的目标,而躲避點數,可以配置設定給所有以該機關為目标的敵方

但是,每多配置設定一個目标,機動性額外消耗1

所有機關配置設定完機動性,則開始戰鬥

戰鬥結算順序,所有同時結算即可

結算時規則和基礎戰鬥規則一緻

2.5原型2總結

通過讓玩家在戰鬥中将有限的資源進行配置設定,展現出了機動能力的兩個特性

  1. 可自由轉化成輸出/生存能力,對輸出/生存能力産生影響
  2. 當機動能力高于敵方過多時,将反而變成劣勢

在原型2可很簡單的拓展至1對多和多對多的玩法,進一步模拟複雜戰場上的情況,初步證明了原型2的拓展性較強

資源配置設定的還能展現出對戰遊戲中的一些設計思路

  • MOBA遊戲中的行動指令(移動、攻擊、釋放技能)
  • 回合制遊戲中的行動指令(攻擊、防守、釋放技能)
  • 卡牌遊戲中的行動費用
  • 而在設計戰鬥機關風格時,也是對這3個方面進行資源配置設定
  • 可留有一定的空間讓玩家進行配置設定,比如說加入天賦系統和養成系統
  • 戰鬥機關的所有優劣勢都可抽象成輸出/生存/機動3方面
  • 在戰中可進行再配置設定的機動屬性,為玩家在局中創造出了政策空間,讓玩家去自主的進行變化,創造不同的遊戲内容

原型2政策博弈分為兩層,一層為開始的三個初始戰鬥資源配置設定,一層為戰鬥中機動力的使用,這兩層政策和對方的資訊關系都不大,更偏心理博弈,單看這個原型政策深度不夠,但作為後續原型的基礎是足夠的。

十一、原型3搶占資源

3.1設計目的

到這一步,我們有了一場基本戰鬥的抽象,在原型3之前,我們先将原型1的思路融入原型2,再次從另一個角度分析一下湧現

玩家已有機關間的變化,與玩家變化統一,并且互相影響,則抽象為:

玩家在削弱敵方玩家的生存,輸出和機動能力,最終目标是生存能力歸零

同時,玩家防禦敵方對自身這三種能力的削弱

在以上過程中,對環境産生影響,并受到環境的回報

環境的回報可能有益于我方或敵方,并且分為可控和湧現部分

1可控的部分

  • 玩家有意識追求有利于自身的可控部分,需要盡量簡單并控制數量,因為環境本身需要盡量對雙方都公平
  • 這部分真正的目的是刺激玩家與環境的互動,來作為湧現的觸發器
  • 例如玩家為了摘蘋果砍樹,樹倒了砸中玩家或敵方玩家
  • 值得注意的是,可控部分對于雙方玩家最好是一緻的設計,因玩家的各種差異而自然分出有益與否,降低資訊複雜度

2湧現的部分

  • 不可控部分,有益于敵方還是我方沒有差別,但是設計上,傾向于有益我方的可控部分引出的湧現,是同樣有益于我方的
  • 同時,湧現的部分,玩家不是完全不可控,而是掌控程度較低,與可控部分是一個漸進變化的過程,同樣作為玩法上限
  • 最後,湧現部分需要設計師盡量可控,例如傾向于幫助弱勢的玩家等等,但是需要盡量讓玩家覺得合理

忽視原型2,我們從頭抽象一個符合我們玩法的最小模型來實作上述理論:

  1. 最簡的不可控部分用随機數進行表達,數字越大優勢越大
  2. 最簡的可控部分與核心機制保持一緻
  3. 将玩家的能力抽象為三部分,輸出能力,生存能力,機動能力,用數字表達
  4. 機動能力高的一方有優勢,但是邊際效益快速遞減
  5. 機動能力本身有其作用,同時對生存和輸出能力有加成

戰鬥開始時雙方自由配置設定9點點數到三大能力上

戰鬥開始時,根據配置設定到機動性上的點數M進行随機1-M,雙方較大的一方額外加1

雙方可以将最終的點數M自由配置設定到輸出能力和生存能力上,作為臨時輸出和臨時生存

雙方互相用自身的輸出對對方的生存造成傷害,優先扣除臨時生存,回合結束,清空臨時輸出和生存

循環回合,生存能力先歸零的一方失敗。

接着我們将湧現抽象為:

臨時加成,永久加成,臨時代價,永久代價

自選風險,高風險高收益

考驗類,輸出or生存or機動性大于等于N時,獲得加成X

臨時代價以及臨時加成類,輸出or生存or機動性臨時減X,臨時獲得加成X

永久代價永久加成類,輸出or生存or機動性永久減X,永久獲得加成X

最後我們将湧現拆分為幾個部分:

  1. 玩家可控互動部分,包含玩家可控的互動,湧現系統給與的回報。玩家能夠給與湧現系統的有a資源資訊,目前/最大/基礎/臨時的輸出,生存,機動能力的數值資訊;b資源本身,消耗或變化輸出,生存,機動能力本身;c玩家的選擇或操作互動。
  2. 可控互動部分對湧現系統的影響,湧現系統的自組織。湧現系統本身内部的邏輯需要支援擷取外界的資訊,并且在内部進行交換。
  3. 湧現系統自發進行的變化,對玩家産生的回報。

基于以上的分析,我們來看看原型3的實際規則:

3.2玩法概述

基于原型2的基礎戰鬥,改為每個回合都會産生三個臨時屬性,臨時攻擊,臨時生命,臨時機動力

每個回合依次出現三個随機資源,雙方投入自己的三種臨時屬性進行争奪,競價模式

争奪完三個資源後,使用剩餘的臨時屬性進行基礎戰鬥

3.3具體規則

  1. 戰鬥開始時雙方自由配置設定N點屬性到攻擊,生命,機動力上,這三個屬于永久基礎屬性,同時揭示結果
  2. 從若幹種資源中随機抽取三個資源放在場上,不揭示
  3. 每個回合開始時,揭示一個資源,并根據目前基礎屬性,産生對應點數的三種臨時資源
  4. 雙方開始競價争奪這個資源,一方可以出價N點臨時屬性,另一方可以選擇大于對方點數的臨時屬性,或者放棄,以此類推
  5. 獲得資源的一方,即時觸發資源的效果,完成觸發結算資源後,進行下一回合。
  6. 當三個資源都争奪完成後,雙方用目前的臨時資源進行一輪戰鬥,戰鬥規則和原型2一緻,額外的,超過臨時生命的傷害扣到基礎生命屬性上。

資源具體效果

6張資源消耗卡,臨時攻擊/生命/機動,永久攻擊/生命/機動

6張資源獲得卡,臨時攻擊/生命/機動,永久攻擊/生命/機動

每次随機資源效果時,從消耗卡和獲得卡中,各随機抽取一張,組成該次資源的效果

每種組合有不同結算效果,具體如下:

1.消耗臨時XX,獲得臨時XX

玩家自己選擇1-10的N點消耗的代價,N不能大于自身擁有的點數

投一個10面骰子,點數需要大于等于N才成功,成功後收獲是代價的2倍,失敗代價不返還

舉例:

抽到了消耗臨時攻擊,獲得臨時機動,這時候玩家有6點臨時攻擊

玩家可以選擇1-6的消耗,例如選了5點,則投10面骰子,大于等于5,則判定成功

該玩家扣除5點臨時攻擊,并且獲得了10點臨時機動,反之,則扣除5點臨時攻擊,什麼也沒獲得。

2.永久換臨時

玩家自己選擇1-10的N點永久代價(扣除基礎屬性),N不能大于自身擁有的點數

10面骰子需要大于N才成功,成功後收獲是代價的5倍,失敗代價不返還

3.臨時換永久

玩家換1點永久資源,玩家有N點該臨時資源,10面骰結果小于等于N才成功

例如該玩家抽到了臨時生命換永久生命,該玩家有7點臨時生命,則10面骰投中小于等于7就會獲得1點固定生命

該臨時資源隻用于判定,不會消耗

4.永久換永久

固定1點資源換2點永久資源

不需要判定,直接消耗1點對應資源,換取2點目标資源

3.4設計思路

  • 該原型模拟的實際情境是,若是引入環境的湧現因素,玩家某一段時間片段内,其實是會将這段時間的臨時資源投入到環境優勢的擷取上,例如經典的野怪,河道buff,或者是占據一個優勢地形。這些戰中的優勢,其實都需要玩家拿一定資源進行交換,比如玩家移動到一個優勢地形,其實就是拿一部分機動力換取地形優勢,地形優勢如果是加防禦,其實就是我們的臨時機動力換臨時生命。其他同理,所有戰中不直接和敵方進行戰損交換的行為,都可以用這個原型進行抽象表達。
  • 同時,該原型的目标之一是用極簡的方式來實作湧現的适應性,尤其是對戰局優劣勢變化的适應性。
  • 引入玩家對抗不可控的體驗,通過讓玩家自由選擇風險回報政策
  • 同時玩家的決策通過随機性,間接地影響系統的結果以及接下來的戰局,部分模拟湧現的過程
  • 用一個10面骰子實作了簡單的正态分布,保證收益最大化在中間數,低值低風險低收益,高值高風險高收益

3.5原型3總結

隻說這個原型,還有一些優化的空間,例如:

1生存能力的資源擷取随機,會造成節奏拖慢,我們可以把資源擷取中的永久生存能力的随機擷取去掉,更進一步,可以直接去掉臨時生命力,隻保留臨時機動和臨時攻擊的設定。

2機動性補充公式需要優化,實際不是輸出或生存掉一點,機動漲一點。經過驗算後可以維持機動力設計,但需要盡量保證15點配置設定左右以及555均衡配置設定,則誤差較小

最後,非常建議大家上手玩一下原型3,其中設計親手遊玩體會更深,原型3已經具備一定的可玩性,重玩性,湧現平衡優劣勢,玩家對戰局環境的影響和回報也展現了一部分,同時,即使沒有中央控制系統,該原型也展現了一部分對節奏的調控能力,還算比較優雅。

同時,讓我們回憶一下複雜系統和湧現的目的,也是我們實作的目标:

  1. 産生有意義的變化,來提供新的體驗
  2. 增強玩家對環境的影響與回報
  3. 平衡優劣勢,拉近不同水準玩家距離,降低操作和政策門檻
  4. 改變和控制節奏
  5. 承載不同類型玩家的遊玩需求
  6. 部分替代其他玩家的作用

這個原型,在一定程度上,已經将前4條優勢展現出來。然而,這還隻是一個比較簡單的原型,如果我們将資源視作一個單元,目前方案隻有一種輸入,單個玩家的輸入。也隻有一種輸出,對單個玩家的輸出。這是規則類湧現的一個典型,是以接下來,我們将嘗試基于代理的湧現原型設計。

十二、原型4九宮格湧現

4.1設計目的

我們先假設單局戰鬥中存在一種第三方機關作為代理,這種機關需要實作複雜系統的6個目的,那他們如何最簡單最直接的實作?如何由目的倒推對複雜系統的要求?具體分析如下:

1.産生有意義的變化,來提供新的體驗

提供新的驗證場景,将我們想要考驗玩家的點放在這些機關上來實作。新的驗證場景,例如如果要考驗玩家的形狀,或者其他單純敵我機關戰鬥考驗不到的東西,則要先考慮,是否可以放在敵方機關上面,若是不能放在敵方機關上再考慮放在複雜系統上。

反過來思考,什麼是敵方機關不能實作的,就是應該由複雜系統來實作。例如敵方機關由對方玩家來決定,一些可控穩定的需求無法實作,系統由設計師來定,可以更可控。例如敵方機關會盡量偏向敵方優勢,系統可以承載雙方中立平等的設計。

2.增強玩家對環境的影響與回報

作為回報的一環,則是将對玩家做的任何行為盡量明确放大的回報給玩家,并對戰局有意義。回報需要複雜系統對玩家的行為等資訊敏感,并且需要做出符合玩家認知的反應

3.平衡優劣勢,拉近不同水準玩家距離,降低操作和政策門檻

拉平玩家差距,這些機關會幫助弱勢的一方,需要複雜系統可以識别出敵我雙方的優劣勢,并且做出反應

4.改變和控制節奏

代理需要在合适的時機,改變和控制節奏,例如殘局時加快節奏等等

5.承載不同類型玩家的遊玩需求

承載不同目的的玩家,根據目的設計,例如擊殺AI機關局外擷取更多金錢,可以擊破擂台攻擊觀衆等。

例如分化玩家的目标,局外塑造多種單局追求,局内才能展現。

例如除了戰勝敵人之外,類似coc來搞資源是一種,為下一局做鋪墊局與局之間做關聯,給與弱勢玩家一個補償,但是更适合異步PVP。

例如單局之間的關聯,可以是讓代理有記憶能力,根據玩家過去做的行為,影響超越單局。

例如有NPC陣營,對玩家有好感度,在單局遊戲中随機遇到,視對雙方的好感度,對雙方玩家做出不同的行為

于是玩家在遊戲中可以有第三種目标,刷陣營好感度,或改變對方陣營好感度,或者陣營可以釋出任務,完成任務作為第三種目标。

6.部分替代其他玩家的作用

複雜系統需要整體上給與玩家足夠多變的挑戰,代理需要和玩家擁有一緻的底層規則。

上面是我們的目标,一步步來,接下來,我們将會引入最簡單的代理,代理的行為也很簡單,挑選一個合适的目标,進行戰鬥即可。同時我們需要用簡單的規則,讓多個代理在整體産生湧現行為。

4.2玩法規則

戰場為一個九宮格格子地圖。除了雙方玩家外,地圖上有7個中立機關,開局時用10面骰子随機中立機關的攻擊屬性和生命屬性,機動力固定0忽略,玩家機關和前述原型一緻,自由配置設定15點屬性。如下:

【三萬字長文】遊戲設計左道,複雜系統與湧現

每個回合開始時,周遊九宮格所有中立機關,向所有附近非中立機關進攻

中立目标選擇的邏輯是單元格總輸出最高》生存最高》随機

進攻機關格有玩家機關時,該玩家可自行選擇用雇傭機關還是本體來先防禦

戰鬥規則和原型2基礎戰鬥一緻,中立機關和雇傭機關機動視作0

玩家行動階段,機動性高的一方先行動,可以消耗一點機動性移動到附近格或不動

移動階段完成後,所在單元格若是友方機關,無事發生,敵方機關或中立機關則戰鬥

若是中立機關則直接戰鬥,若有敵方機關則和敵方機關進行戰鬥,戰鬥規則一緻

若既有敵方機關又有敵方雇傭機關,敵方可選擇誰來迎戰,戰鬥結束後,敵方下個回合可選擇繼續進攻

當玩家戰勝所在格子的中立機關或敵方雇傭機關後,若該格子沒有其他我方雇傭機關,可以選擇消耗自身的屬性,生成一個我方雇傭機關,雇傭機關屬性為消耗屬性的兩倍,機動力固定為0

例如玩家攻擊為5,生命為8,可以消耗N點攻擊,M點生命,生成一個2N點攻擊,2M點生命,0點機動的我方雇傭機關

當玩家行動完畢後,回合進入結束階段,結束階段若是地圖上有空位,随機生成中立機關

4.3原型4總結

上面是最基礎的代理模拟,其中用移動能力的消耗來防止滾雪球是合理的,并且原型4的中立機關已經對遊戲産生一定有意義的影響,甚至可以“湧現”出最簡單的夾擊,可不要小瞧這個簡單的夾擊,它就類似康威生命遊戲中的元胞自動機行為,都是由最簡單的規則(原型中的中立單元選擇目标規則),自行出現的一些現象。這個原型中的湧現也許簡單到一眼看穿,但仍揭示了湧現的本質。

雖然原型4基本是成立的,但仍有以下的問題:

  1. 消耗機動性進行地圖位移不合理,不是同一個層次的移動資源,額外需要設計一個大地圖移動能力,和機動性相關,但是不同層次需要獨立。
  2. 需要防止消極逃跑的政策,加入主基地?加入移動能力變化?加入大地圖遠端傷害手段?
  3. 高風險高收益需要更明确簡潔的吸引力和回報。
  4. 有地形後仍缺失創造局部以多打少的政策能力考驗場景,以及少打少的維持能力,用于提供排程資源的空間和時機把控可能性。

十三、原型5主基地湧現

5.1設計目的

吸收原型4總結的優缺點,我們進一步進行優化的同時,将更多目光轉移到,湧現如何參與進一個合理的目标挑戰回報結構。先複習一下什麼是好的目标挑戰回報結構?一場戰鬥,是由多個并存,嵌套的大小目标,挑戰和回報組成:

1目标

  • 合理,有難度但夠得着的目标,可以被分解的目标
  • 不同類型層次的目标,大目标永遠有希望但難達成,作為最終追求hook
  • 中目标有挑戰但在能接受的延時回報的極限内能達成,作為階段回報
  • 小目标作為容易達成或容易失敗後快速學習達成的填充回報

2挑戰

  • 有了目标,就要設定挑戰,挑戰是一切的核心,也是最難的部分
  • 對不同大小的目标,要有不同的挑戰,好的挑戰是需要有難度但能完成的挑戰
  • 最好的挑戰就是使出渾身解數剛剛好極限完成的挑戰,方法一般有自适應變化的挑戰難度,自适應變化的目标,将失敗作為挑戰的一環,模糊挑戰的概念等等

3回報

  • 和目标以及挑戰不同,不管什麼大小的目标和什麼難度的挑戰,回報都有共同的要求
  • 首先,回報有辨別進度的作用,使得玩家知道自己在這個挑戰的什麼階段,離目标有多遠
  • 人類的感覺是不均衡的,離終點遠時,或未知終點距離時,會放大這個距離,離終點近時,會縮小這個距離。是以,及時,明确的分階段回報,能夠幫助玩家更好的進行一個挑戰,靠近一個目标
  • 其次,正向的回報,給與玩家動力,給與玩家操作的确認
  • 最後,負向的回報也很重要,教學玩家,懲罰玩家,反向激勵玩家

之前我們已經說過湧現的優勢,對于這個目标挑戰回報結構當然同樣适用,我們來實際嘗試一下:

5.2玩法規則

還是九宮格地圖,每個玩家擁有一個主基地,主基地被占領則失敗,地圖設計如下:

【三萬字長文】遊戲設計左道,複雜系統與湧現

分基地和原型4的雇傭機關一緻,隻不過是初始固定給與我方的機關

主基地屬性可以為9攻9血,分基地可以為5攻5血,屬性可以适當自己調整試試,會決定遊戲節奏

玩家操控的機關或者主基地被破壞,則遊戲失敗

玩家操控的機關每回合可以移動一格

回合流程是機動力高的一方先移動

玩家操控機關所在的格子沒有敵方和我方其他機關時,可以産生雇傭機關,産生規則和原型4規則一緻

雙方移動完後,所有建築可以向相鄰格子配置設定點數産生雇傭機關,每個格子友方非玩家操控機關數最多2個

雙方輪流操作後,進行戰鬥環節,戰鬥環節規則不變

額外的,單個機關屬性值不大于9

5.3原型5總結

相比原型4,原型5解決了一些問題,例如消極避戰,機動資源不合理等。同時,對于目标挑戰的優化,展現在結果上,我們會發現玩家的政策自由度會高很多,可以基于簡單的九宮格進行一些更複雜的政策,例如創造局部以多打少等。同時,我們最關注的湧現部分,仍舊和原型4接近,沒有什麼損失,反而,因為玩家的決策自由度增加,在感覺上,湧現部分會更加突出,這也是這個原型展現出的一個有趣的現象。由此我們可以知道,對于湧現的利用,至少需要一定程度的政策自由度,有了政策自由度,才能對整個複雜系統做更多輸入的可能性。

下一步,我們反其道而行之,做做減法,用更抽象的方式來實作一樣的博弈。

十四、原型6抽象分階段戰場

6.1設計目的

根據原型5的驗證成果,我們還可以進一步抽象,來感受湧現:

  1. 可以專注于資源配置設定,降低移動和戰場位置的相關因素,更加抽象
  2. 雇傭機關的機動性很關鍵,往帶機動性,更接近僚機而不是建築的方向驗證,中立機關還是可以是建築
  3. 直接配置設定點數,基地可以換一種形式存在,同時點數的存在也為下個原型打下基礎
  4. 加入戰鬥中途加入機關的設計,分散決策

6.2玩法規則

戰場由戰場效果和戰場收益,以及中立防守機關三者組成

戰場效果設計目的是輔助決策,平衡優劣勢,有以下三種:

  1. 考驗,若投入的機關總點數大于XX,則臨時加成XX
  2. 輔助,若投入的機關總點數小于XX,則臨時加成XX
  3. 消耗,加強中立機關X點

戰場效果第一回合不揭示,回合結束後才揭示

戰場收益,玩家追求目标,且可控,開始時就揭示

  1. 每回合增加總自由點數上限X,X随機,且決定中立防禦的點數配比
  2. 增強玩家本身,暫時不用

玩家遊戲開始時15點配置設定到自身機關,還有自由點數X點

開始遊戲時放入三個戰場,将戰場收益揭示,戰場效果不揭示

玩家每回合可以雙盲做兩個操作,将自由點數配置設定到三個戰場中的一個,成為雇傭機關,和之前原型不同的是,雇傭機關可以有機動性,和玩家機關基本一緻

玩家将自身機關移動到某個戰場或從戰場移回基地,玩家機關去另一個戰場需要移回基地,如下圖:

【三萬字長文】遊戲設計左道,複雜系統與湧現

回合結束時結算戰鬥,和之前規則一緻

每個戰場除玩家機關外最多一個雇傭機關,有一個雇傭機關時,基地無法派遣新的

回合開始時自由點數回滿,并且每個戰場若沒有中立機關,則重新随機生成一個中立機關

中立機關生成規則為6面骰,投三次代表輸出,生存和機動,投到生存0則不生成

6.3原型6總結

原型6的體驗和前兩個原型又有所不同,雖然更加簡潔,但可玩性反而相對更高,這是因為将空間位置博弈更加抽象後,可以反而可以強化單個區域的效果,對湧現的表現加成更大,這也是這個原型給我們的啟發之一:

代理和環境的存在都是湧現非常重要的一環,他們都是複雜系統的元件,是相輔相成的,或者可以直接視為一體。

而在玩原型6的時候,也發現了一些可以更優的部分,例如第一步改為依次揭示戰場可以減輕決策成本,也展現了不可控部分降低決策成本這一點。例如玩家操控機關會有點被中立機關喧賓奪主,戰場收益還可以更高一點等。最重要的是,整體決策數較少,每一步決策負擔過高。

十五、原型7細分決策平衡優劣勢

7.1設計目的

根據原型6的驗證成果,除了優化細節,我們來嘗試将決策拆分,降低每一步決策的資訊不确定性和負擔,但每一步決策之間互相關聯,考驗玩家思維步數深度,從精确政策轉向模糊政策,這是原型7的重點之一。

另外一方面,我們再次将目光放到優劣勢平衡這一點,探讨利用局外資源帶入局内和湧現結合的方式:

對于一個正常的帶局外的單局戰鬥為核心的遊戲來說,單局戰鬥最終目标是為了擷取勝利的快樂以及獎勵,獎勵是服務于局外的發展,最終為了更好的進行單局戰鬥。同時根據養成,經驗,技巧等等因素,對于一個玩家來說,戰中剛進入對局時有3種狀态:1明顯強于對方,2接近勢均力敵,3明顯弱于對方。

對于玩家來說,略強和略弱以及勢均力敵的情況是最常見的情況,且是我們期望最多的情況(通過elo比對等方式)

在這種情況下,期望玩家目标是擷取勝利,勝利的獎勵大于其他路徑。

有所不同的是,這種情況下玩家可以有兩種偏向,第一是放大優勢和縮小劣勢後進行戰鬥,第二是直接進行戰鬥分出勝負,偏弱的一方會傾向前者,偏強的一方會傾向後者。

對于明顯強于對方的玩家,我們需要給與一個更難達成,獎勵更高,且過程中會削弱玩家的路徑,例如破壞敵方基地,毀滅敵方所有建築,攻擊第三方機關等等。

反之,對于弱于敵方的玩家,可以是幫助第三方機關防禦,擷取防禦資源等。當然也需要一個合理的勝負條件,要考慮弱勢方是否會主動承受傷害,消極比賽,投降,快速結束比賽。

也不能通過簡單的戰鬥力來供系統決定優劣勢,會促進壓戰力行為出現,和複雜系統的結合,我們需要玩家根據戰場情況自己判斷雙方優劣勢,做出不同的決策,來決定優劣勢。

那局外資源又如何去達成平衡優劣勢的目标呢?這邊探讨一種适合和湧現結合的可能性:

我們将玩家在戰中的目标分為兩大類,勝利和擷取資源,兩者不沖突但有側重;

玩家的實作這兩個目标的時候,有兩種抉擇,第一,減少局外獲得資源以擷取局内更強的戰力,第二犧牲局内戰力擷取更多局外資源;

其中是漸進的變化,如此,不管優劣勢方,都可以走兩條路,風險和收益并存且由玩家自己把控;

舉個例子,例如我們設一場戰鬥勝利可以獲得10分的戰利品,失敗保底有2分的戰利品。局記憶體在複雜系統(例如一個第三方陣營),玩家可以與其進行不同的互動,進攻會擷取更多局外戰利品,也會損傷自身的戰鬥力,也可以做第二類互動,用局外戰利品的消耗或者減少,來增強自身的戰鬥力。

如此,我們達成一個目标,理論上玩家最優解是戰力剛剛勝過對方能夠拿下勝利的前提下,盡可能多的用戰力換局外資源,這樣一來,玩家間會與複雜系統一起,進行非常動态的博弈,自适應地平衡優劣勢。

是以,原型7将引入一個新的資源,用來模拟局外帶入局内的,除戰鬥機關外的一種可支配資源。

7.2玩法規則

共有三片戰場,連成直線,一端靠近玩家A,另一端靠近玩家B,如下

【三萬字長文】遊戲設計左道,複雜系統與湧現

玩家自己的旗艦初始在主基地,旗艦取消機動性,初始配置設定點數為10點,但是旗艦血量乘10

玩家每回合可以從自己的自由點數中配置設定N點成為一個雇傭機關,可以0點,雙盲,必須生成在主基地

回合下一步雙盲決定旗艦前進後退還是不動三項操作

下一步,所有雇傭機關所在的格子若沒有敵方或中立機關,則自動向敵方主基地移動一格

下一步戰鬥結算傷害,規則和之前的原型一緻

每個回合結束時戰場會生成中立機關

中立機關生成仍舊是投6面骰子兩次,分别作為輸出和生存能力,機動性視為0

每個回合生成戰場收益,收益大小随機投擲10面骰

加入利息設計,每N點回合結束時加1點,降低預測敵方的難度,同時增加博弈空間

加入占領成功一次性獎勵,促進玩家更加激進,例如占領機關+1+1,或者戰利品自由配置設定占領機關還是收回

戰利品配置設定在下輪怪物和收益生成之後,雙方雇傭機關之前完成

每個戰場最多可以投兩個雇傭機關

7.3原型7總結

原型7展現了将政策拆密拆細,這種方式會更加契合湧現的設計,因為湧現本身需要一定步長的決策深度來拉差。不止是湧現,在做設計的時候,我們整體上都會偏向将精确政策模糊化,不僅僅為了湧現,而是更貼合人類做決策的本能。

尤其在即時制遊戲中,一般将精确政策作為額外深度上限提供,考驗玩家對遊戲的掌握,資訊收集,反應,記憶,快速決策等能力。操作上來說,偏向高頻操作考驗反應,收益代價都較小,低頻操作考驗政策,收益代價都較大。操作速度,操作精準度,操作政策深度三者為不可能三角。是以對于我們來說,相比精确政策更偏向模糊政策,并且重點是利用湧現令玩家産生模糊政策是精确政策的錯覺,再利用機制放大模糊和精确政策的回報。

同時,更偏模糊政策配合前文所說的動态平衡優劣勢才能成立。(完全精确政策,則優勢玩家最優解很明确,優于敵方的前提下,将所有戰鬥力換為局外資源,劣勢玩家則什麼也幹不了)

十六、湧現設計總結

感謝耐心看到這裡的朋友,上面我們設計了七個原型,一步步展示了複雜系統和湧現設計的一些要點,原型都我自己快速設計的,比較簡陋,如果在玩的過程中,有更好的想法,随時修改原型即可,達成設計目的就行。借由上述的原型設計,我來總結一下湧現設計的一些經驗:

1.規則盡量底層,抽象,通用

對于複雜系統,複雜度來自代理間,規則間的互動,不在于規則本身的複雜度。反而,對于設計來說,用越簡約的規則實作設計目的,越優雅,并且也好調試,預測和利用湧現現象。多次疊代的輸入輸出,每次疊代都盡量簡單易懂,規則清晰。舉個例子,我們設計一個元素反應的複雜系統,不該是去設計木頭遇到火就會燃燒,火遇到水就滅這樣的規則,而是應該設計更底層通用的規則,例如溫度系統,所有這些元素會改變周圍的溫度,溫度超過燃點就燃燒,低于冰點就結冰。如此設計,所有的涉及溫度變化這個單一度量可以描述的元素反應,都統一起來了,不僅簡潔,後續拓展性也強。這就是一個例子,規則越底層,越抽象,越簡潔,越通用,才是一個适合複雜系統的設計。

2.博弈空間,決策複雜度,學習成本,玩家掌控程度之間的平衡

資訊不能太完備,否則決策門檻較高,也不能太缺失,否則政策意義太小。一般通過逐漸釋放的方式來達成資訊密度的控制。同時,資訊除了對決策的影響,往往還影響玩家對戰局的可控程度,這一點往往和湧現緊密相連,特别需要注意一個現象:某個資訊和高收益相關,逼着玩家不得不去深入湧現,帶來巨大的決策成本。同理,資訊,包括複雜系統内部的規則資訊,也無需急匆匆教學玩家,在有複雜系統的遊戲中,不需要追求玩家過多的掌控程度,探索複雜系統本身也可以作為樂趣之一,對複雜系統的熟悉程度也可以作為不同玩家間的拉差。

3.拆分降低每一步的決策成本,及時回報,減少長考

如原型7所說,政策拆密拆細,這種方式會更加契合湧現的設計,因為湧現本身需要一定步長的決策深度來拉差。我們追求的是玩家盡量用模糊政策來應對複雜系統和湧現,但是通過湧現結果,UI暗示等等設計手段,讓玩家感覺自己在做精确政策,獲得高回報。

4.注意湧現中濫用随機

不可控部分大多數時候是降低政策成本,因為不需納入政策考量之中,控制随機,對抗随機,利用随機,也能帶來相當大的樂趣。湧現也是類似,他們都是不可控的一種,那有朋友就可能會想了,湧現加上随機會如何?

我們舉個簡單例子,模拟人生中的小人,他們有自己的想法,但這時候我們讓某些想法出現的規則随機。這時候,對于這些想法的湧現部分玩家會如何看?結論就是看不了,濫用随機,随機會侵蝕湧現的意義,最後,變成随機蓋過湧現的樂趣,或者兩者互相影響。

我們再細一點,如果把湧現和随機的結合分為前中後三類:

  1. 我們會發現,湧現前随機,對湧現影響不大,但意義也不大
  2. 湧現後随機,會破壞湧現的意義
  3. 湧現過程中摻雜随機,大大增加不可控程度,實際上也在破壞湧現

是以,同一個遊戲中,随機部分和湧現部分最好是分離開來,且可以随機的結果和湧現相關,但不要摻雜兩者,或者湧現的結果再随機一道

5.平衡優劣勢

需要給劣勢方優勢的同時,盡量保持規則統一,不要過度依賴湧現本身的不可控來平衡優劣勢,更好的是以一個自洽的規則讓系統合理的平衡優劣勢,最好的是讓優勢方自适應追求高風險高收益,來平衡優劣勢。例如前文說的局外資源帶入的方式。

6.利用提前認知降低了解學習成本

複雜系統一般都有比較高的了解學習成本,并且現實生活中有非常多已有的複雜系統,是以,多多利用現實生活的提前認知,來降低門檻。例如原創設計了某些規則,那也去生活中找一個最接近的複雜系統,包裝一下靠過去。

7.代理與AI的異同

代理不等于AI,這是常見的一個誤區,因為很多時候他們兩個有重疊的部分,但從設計上講,一定要注意,代理是一個以一定規則執行輸入輸出的元件,它完全不需要追求智能,複雜,靈活等等,如果這樣去設計,就跑偏了。可以看出上面幾個原型,都會将代理設計的非常簡單,重點不是代理本身多複雜智能,重點是代理與代理直接的互動規則,在整體上能否産生我們想要的湧現。好的代理應該享受和玩家操控機關一緻的底層邏輯,但是利用好代理所獨有的優勢。就類似AI的設計,拟真AI大多數不是最好體驗的AI,最好的是利用AI可以作弊這一點,更大化發揮AI對玩家體驗的作用。例如類似求生之路的導演系統,光環敵人AI等等達成的效果。

代理不等于AI,但是可以參考AI和玩家可以用的政策,來進行設計,以下是我對1V1對抗的政策博弈的一些不完整總結:

  1. 最簡單石頭剪刀布,離散的循環克制,最基礎的政策
  2. 上校博弈,資源配置設定政策,以弱勝強,在總資源的基礎上博弈資源配置設定能力
  3. 連續循環克制,例如某資源高一點優勢,高太多反而是劣勢,大多配合上校博弈或資源規劃
  4. 競價博弈,雙方花費資源競價一個目标,一種連續的心理博弈
  5. 加注博弈,典型的就是撲克單挑,同樣是連續的心理博弈
  6. 深度博弈,比拼思考步長,大多數棋類
  7. 競速博弈,雙方比拼達成目标的速度,本身很難成立,一般輔以雙方互動的設計,麻将就是典型,或者是和其他政策設計結合,比如結合上資源規劃

大多數實際的政策,是由上面多種設計複合配合,而這些政策,都可以應用于代理的設計。

8.超越複雜系統

最後,本文探讨的是,複雜系統和湧現在遊戲中的利用方法,我們追求的從來不是模拟一個複雜系統,或是多麼追求和現實一緻的湧現。我們追求的是利用複雜系統和湧現,服務于我們的設計目的。

是以我們要學習複雜系統,但要超越複雜系統,我們可以重構現實的複雜系統,例如流浪方舟裡面實作的設計實體,就跟真實實體不同。同時,我們也可以有外力給與系統,不用追求完全的系統内部達成自适應,也可以主動放大湧現等等,當然,當複雜系統和湧現對核心玩法沒有幫助時,不要猶豫,砍掉,一切為設計目的服務。

十七、結語:湧現,生命,智慧

上面8個章節,都是以一個設計師的視角,較為理性地去剖析複雜系統和湧現,目的性非常強地探尋其在遊戲中的利用方式,希望對大家有所幫助。接下來最後一章,随便聊點不那麼理性的感想,随便交流談笑一番。

對複雜系統和湧現現象的着迷,離不開對自己對生命和智慧的敬畏與好奇。很多朋友不知道,生命到如今也沒有一個準确的定義,生命是什麼?和複雜系統如何定義類似,這是一個至今沒有完全達成共識的話題,科學家們隻能對生命提出了一些較為普遍的特征,例如:

  1. 結構,生物體的各種化學成分在體内不是随機堆砌在一起的,而是嚴整有序的結構。隻有當大分子組成一定的結構,或形成細胞這樣一個有序的系統,才能表現出生命現象。
  2. 新陳代謝,生命會與周圍環境不斷進行着物質交換和能量流動。一些物質被生物體吸收後,在其中發生一系列變化,成為最終産物而被排出體外,這被稱作新陳代謝。
  3. 應激性,生物能接受外界刺激而發生反應。包括感受刺激和反應兩個過程。
  4. 自我複制。
  5. 進化和适應,生命通過遺傳和進化,可以适應不同環境。

以上隻是一些特征,生命的定義多種多樣,至今沒有準确定義。而從複雜系統的角度來定義,生命不過一些簡單的元件聚集在一起,所湧現出來的整展現象。就像美國實體學家默裡·蓋爾曼(Murray Gell-Mann)曾說:我們在周遭世界所見的複雜行為——甚至在生命世界中——隻是“從深奧的簡潔中浮現出的複雜表象”。

有人也會問,湧現是否隻是一種錯覺,是我們主觀強加給系統表象的意義?這個問題,其實和智慧是否存在,是否是大腦的錯覺沒有本質的差別,每個人也許有不同的答案,但作為一個智慧的載體,我很難承認,我們僅憑錯覺能夠建立起我們璀璨的文明,留下名傳千古的詩篇,但是也許在更高智慧的生命眼中,我們的文明火花,不過是螞蟻抱團表現出來的蠢蠢叢集智慧,說不得還被定義成叢集效應,戴不上智慧的王冠。

而對遊戲來說,前面幾章沒有深入探索的最後一部分,就是複雜系統部分替代其他玩家的作用這一點,正是來源于對湧現生命智慧三者關聯的啟發。這一部分來自我們最新對長線遊戲的思考——對于一個着重創意設計的小團隊,怎樣的方向最适合做長線内容。這是一個很大很重的話題,這裡不展開,以後有機會單獨寫文章,先直接說我認為的三個可行方向:

  1. 多人競技,靠多人之間的互動博弈,不斷産生新的内容。
  2. 利用湧現的代替玩家的部分功能後,1V1的競技,彌補1V1競技人人博弈産生内容不如多人的部分。
  3. 利用湧現或其他方式,高重玩性高設計空間的單局PVE,高效更新關卡來做長線。

以上是一家之言,隻适合我們自己團隊,僅供參考,其中第二點,就是我們一直在探索的方向,如何利用湧現模拟玩家,讓系統能夠代替部分玩家間互相給予的體驗。就像之前說的,這裡不是要做一個拟真AI去模拟人的智能,而是用湧現系統,去模拟人類玩家給其他玩家帶來的那種,理智中帶着混沌,可控中混雜着不可控,沖動瘋狂和理性決策交纏的感覺。

好吧,寫着寫着又想着對遊戲設計的作用,職業病發作,本篇文章前後耗時數月,可能有些啰嗦不連貫,感謝耐心看到這裡的朋友,歡迎多多交流,也歡迎關注我的公衆号《魚塘遊戲制作工坊》。

下面就用一段上篇文章被我删掉的胡言亂語,來結束這篇文章吧!

“生命與智慧不是偶然,而是必然。

熱力學第二定律-熵增定律表明,一個封閉系統,整體混亂度會随着時間流逝增加,直到所有事物都走到最無序的狀态。于是維多利亞時代的熱力學家想象,宇宙這個封閉系統,所有能量也會慢慢轉化成廢熱,恒星各自熄滅,黑洞也會耗盡自身,最終所有一切都會處于平淡一緻的寂滅,這就是所謂的“熱寂”。然而,在這個不可逆的過程中,宇宙似乎有些不甘,逐漸平靜下來宇宙海洋,在某些角落驟起波瀾,一些有序的構造體,從無序的物質中湧現出規則。這些構造體在行星的原初羊水中翻滾,用盡全力吸收恒星的光芒,用簡單的碳元素做骨架,配上一些别的東西,堆積出複雜的自适應系統,有些甚至還能開出漂亮的花朵。雖然,這些微小秩序的産生需要來自系統之外的能量,代價是宇宙其他區域更多的混亂。

可是,宇宙在走向無序混沌的過程中,還是在一些角落悄悄孕育了有序的生命,它們是如此的珍貴,那是宇宙對抗無序的呓語,是宇宙為自身加冕的桂冠。而生命中湧現出來的智慧,更仿佛是宇宙的呓語恰好吟唱成了一曲歌謠,是桂冠上璀璨的寶石,是奇迹中的奇迹。每個人的心靈,都是獨一無二,從混沌中掙紮着長出的花朵,每個人的靈魂,都是宇宙靈魂的一部分。

是以,用力活着,用力地思考,不辜負這奇迹。”

感謝您的閱讀。

繼續閱讀