【遊戲機制】《薩爾達傳說:王國之淚》的餘料建造、究極手與ECS架構


3樓貓 發佈時間:2024-05-31 23:34:48 作者:李十三_lee2813 Language

一、玩的是什麼?

3月28日《薩爾達傳說:王國之淚》發佈實機演示,介紹了倒轉乾坤,餘料建造,究極手,通天術四項能力。
  • 倒轉乾坤:對運動的物體使用,可以使其相當前的反方向進行移動。
  • 餘料建造:可以將任何武器兩兩結合,或者武器和道具結合。
  • 究極手:將物體互相組合或者隨時分離的一種能力。
  • 通天術:直接穿越山體或海洋的能力。
由於這裡面有太多的點可以講,本篇重點選取我感受比較深的餘料建造和究極手。
(1)餘料建造:   
  • 武器和武器進行結合:   
在樹枝動畫模組的基礎上增加石塊這一“傷害加成”

在樹枝動畫模組的基礎上增加石塊這一“傷害加成”

在長矛動畫模組的基礎上增加樹枝這一“距離增益”

在長矛動畫模組的基礎上增加樹枝這一“距離增益”

  • 武器和道具進行結合:
在弓箭動畫模組的基礎上增加“冰凍效果”

在弓箭動畫模組的基礎上增加“冰凍效果”

(2) 究極手
船 = 浮力(樹木) + 動力(風扇)

船 = 浮力(樹木) + 動力(風扇)

通過究極手這一技能將特定性質的物體進行組合即可得到類似“船”功能的物體。

通過究極手這一技能將特定性質的物體進行組合即可得到類似“船”功能的物體。

二、用戶 反饋是什麼?

三、設計的源頭在哪裡?

對於一些玩家來說,會覺得餘料建造和究極手帶來的是沙盒遊戲裡面的建造遊戲,但兩者的本質是不同的。
  • 從遊戲架構上來說:是ECS和EC的區別 
從遊戲開發gameplay架構的角度來說,存在著ECS和EC兩種方式,兩者的主要區別在於對遊戲對象抽象方式的不同。
在EC架構下,遊戲裡面的對象由Enity(實體)- Component(組件)組成,我們熟悉的Unity就是基於這樣的架構來進行遊戲對象管理的,這也是OOP面向對象的設計思路。而在這種情況下,策劃和程序在項目初期設計數據結構表的時候,首先會抽象一個對象,然後再看有哪些屬性,來設計對應的數據結構。
以船為例:
《我的世界》裡面的船的得到是根據設計者setup得來的,也就是說在設計者的眼裡,只能先砍樹,得到木板,然後再進行合成,這樣才能得到“船”這一Enity,而在得到了“船”之後,才能夠解鎖“船”對應的動畫資源。
如果按照這樣的思路,在沙盒建造類遊戲中,設計者也會首先setup能想到的船的所有性質,例如《船舶建造》中設計者認為作為“船”,那麼我們一定會有不同的炮臺,不同的舵可以配置等等。於是,可以得到的數據結構表如下:
而策劃的工作就是根據設計出來的數據表按照這個結構進行配置,由程序讀取對應的Json文件進行開發,運用繼承,派生出不同的子類。但是這樣會有什麼問題?
在這樣下,玩家最後會發現這些不過是策劃自己的遊戲,玩家收集資源,完成遊戲任務,最後只是為了數值的提升,而數值提升所帶來的樂趣不應該是遊戲的核心樂趣,即使這樣的開發成本是最低的。
在ECS架構下,遊戲開發者的眼裡可以不存在“船”這一概念,也可以不抽象出來。而是基於性質的遊戲設計方式。
首先,什麼是船?
百度百科如是說

百度百科如是說

分析一下可知,我們現實生活中的“船”這一概念本質上是由兩個性質組成的:浮力和動力。
而哪些現實物體具有浮力:
首先能想到的應該是木頭。《薩爾達傳說:王國之淚》裡面如是說。但是,這應該也不是全部,再利用基於性質的角度來分析一下什麼是浮力?初中物理告訴我們當物體的密度比水低的時候就可以浮在水面上。有了這個性質,開開腦洞。我們還可以設計出:
收集氣體到一個袋子裡,作為船體。這不就是氣艇?
將水凍成一個冰面,放到水上。北極熊的交通工具。
ECS架構下,玩家可以自己根據性質,組合成任意現實中沒有的實體。在《薩爾達傳說:王國之淚》中,這一方式具體有兩種體現形式,分別對應於宣傳的兩種能力:
  • 餘料建造
餘料建造本質上是基於ECS的buff機制。在這種角度下,遊戲裡面也不存在著武器這一概念,實機演示中可以看到樹枝可以作為武器,樹枝組合石頭可以作為新的武器,而石頭也可以作為武器。這樣下去的話有太多的組合了,如果還是按照一個個setup的思路,配置量是巨大的。這時候就需要引入buff的概念。
首先,我們需要分清楚誰是技能本體,誰是附加的Buff。觀察這一點其實最好的方式是看角色在組合後進行攻擊的時候配置的動畫是哪一套,使用的是哪個的動畫模組,誰就是技能本體,另一個就是Buff。
在實機演示中,組合對應的技能優先級應該是:
距離武器  > 效果武器 :例如盾牌 > 噴火龍頭,組合就是會噴火傷害的盾牌。
 距離物體 > 效果物體 :例如樹枝 > 石塊,組合就是帶石塊暴擊傷害的樹枝。
武器 > 物品:例如弓箭 > 冰塊,組合就是帶冰凍的弓箭。
在進行餘料建造,也就是武器組合的時候,我們在明確技能本體的前提下,可以從作為BUFF的物體/道具中提取性質來附加到本體上,從而實現我們對於武器的自我配置。
同樣的,這種對於武器的配置也不會事先由策劃先setup出一個噴火的盾牌,而是由玩家自己來決定。從資源循環的角度來說,餘料建造也可以理解為是一個資源-武器-資源的一個合理化包裝,石塊可以組成武器,但在需要流向其他系統,例如修建房屋時,也可以通過分解的方式進行回收,但我們的木棍這一主武器沒有被分解掉。
  • 究極手
究極手本質上利用基於性質的方式來定義遊戲的Enity。基於性質的設計方式,在《薩爾達傳說:荒野之息》中也有一定的運用,不過那是從System管理遊戲對象的角度來說的。在GDC2017開發者大會上,塞爾達團隊分享了他們的化學引擎的概念,具體利用的是基於物理性質的對於Component的System管理方法。例如:我們烤肉,可以在灶臺上生火把肉烤熟,也可以把肉放在火山口上烤熟等等。 從策劃的角度來說,無法根據自己的想象設計出整個世界所有的情況,就算能夠通過窮舉的方式setup出所有的可能,從程序的架構來說,這麼多對象之間交叉的遊戲觸發條件也會帶來巨大的代碼耦合量,對於後期維護是致命的。
但是我們也可以借鑑下造物主在打造“現實世界”這一巨大的開放世界時,是怎麼管理的。烤肉之所以可以熟,是因為肉這一物體在溫度累積到了一定量後就可以變成熟了的狀態。這本質也是Buff的概念。不過這個Buff的數據結構也就是溫度狀態(標記)+持續時間(累積):
而在《薩爾達傳說:王國之淚》中,則是對於Compoent組成Entity這一階段進行了基於性質的設計。在這種設計方法下,我們不事先setup具有的Entity有哪些?每一個Enity由哪些組件。在Unity的EC架構下,一旦我們把其中的某個組件去掉,最後整個Enity就不再是我們所定義的Enity了。
而ECS架構帶來的Component組件- System帶來的可插拔特性,使得我們可以不事先定義遊戲具體的上層Enity是什麼?而是基於性質去分析和設計最小單元是什麼?這些最小單元也就是我們的Compent組件,眾多具有特殊性質的Compent可以根據玩家的想象力進行自由組合,得到各種各樣的遊戲對象。

四、可以遷移的點?

這個玩法有趣且重要,也是任系在這個國內外遊戲廠商瘋狂內卷遊戲題材劇本和畫面的時代,向眾多遊戲廠商展示自己依然堅持進行著玩法創新的初心。這後續也會成為更多做開放世界類型遊戲的廠商學習借鑑的模板。
對比前作而言,我認為任天堂的這次改動,使得玩家更多關注於開放世界中的一草一木了。在前作中,玩家更多的是尋找神廟,打敗Boss獲得裝備。所以就可能面臨兩個問題:
  • 一是開放世界探索階段。
這裡玩家主要面臨的痛點是玩家跑路階段過於無聊,一些遊戲的做法是對角色的3C進行設計,例如之前很多的開放世界各種跑酷玩法,而通過這幾款遊戲《魔咒之地》《鏡之邊緣:催化劑》《索尼克:未知邊境》的分析後發現,在開放世界中引入過多的跑酷元素可能會分散玩家對於開放世界的探索與引導元素的注意力。那麼在探索階段,怎麼在探索遊戲中的對象的時候進行快速移動呢?
於是就有了“究極手”這一處理方式,解決之前開放世界存在的問題。
  • 二是開放世界的戰力系統。
開放世界的戰力系統可以簡單歸結為玩家對於武器的獲取。在一些開放世界遊戲中,玩家的戰力系統是由 探索並收集資源-建造武器-升級武器 這一循環組成的。玩家通過探索收集資源,建造特定的武器,然後選擇幾把武器放入揹包,開始自己的探索。而開放世界中怪物的類型多種多樣,當玩家面臨被剋制屬性的敵人但又十分稀有時,難免痛心疾首一句:“要是我帶上我心愛的大棒,打這個行動遲緩的怪也許可以一招制勝。”
於是就有了“餘料建造”這一處理方式,這個思路也可以理解為《薩爾達傳說:荒野之息》化學引擎的進一步擴展,通過不同武器,物品的組合得到眾多特定的武器,進一步解放揹包。
不是所有的遊戲都適合這種架構,如果按照這種思路,設計者也就沒有辦法控制玩家應該玩什麼,不該玩什麼。這也意味著對於商業化網遊來說,團隊無法對遊戲整體進行有效的運營。
如果硬要在基礎物體上套數值和等級體系的話,則很難從設定上說得通,因為只有性質是物體特有的。並極有可能導致戰力系統崩壞,在眾多物體,武器的組合中,例如不同的棍子的攻擊力不同,但是和相同的長矛結合後,最後的攻擊力算長矛的,還是說從作為長度屬性的棍子中提取呢?
可以借鑑的地方:
對於買斷制遊戲和獨立遊戲,或者商業遊戲中的特殊模式來說,是可以借鑑的。《薩爾達傳說:王國之淚》本就是一款重度的開放世界遊戲,在基於這樣優秀的設計模板進行借鑑時,我認識有以下需要注意的地方:
  1. 遊戲的付費方式是道具付費還是點卡付費還是時裝付費?對於到道具付費來說,更適合對於具有特殊性質的基礎組件進行收費,摒棄武器數值與等級體系。從而從根節點上控制玩家遊玩進程,避免戰力崩壞的情況。
  2. 更多地利用開放世界中的遊戲對象來解決開放世界過程中的問題。
無論是餘料建造還是究極手,還是前作的化學引擎,我發現都是基於遊戲世界中,也就是地圖上存在的物體的效用進行的擴展。         
以開放世界探索為例,跑酷玩法本質是通過對角色3C進行設計,來消解玩家在大地圖上移動的無聊感。例如《魔咒之地》和《索尼克:未知邊境》就是對於玩家角色的移動進行了設計,最後分析得出的問題就是這種跑酷使得玩家在開放世界中分散了自身的注意力,弱化了開放世界的引導元素。         
但是另一款遊戲也是從角色3C的角度出發,但這裡的角色更多地和開放世界中的遊戲對象進行關聯,那就是主打靈魂跳躍的《奇婭》。通過“靈魂跳躍”這一方式,讓玩家可以合理地運用其他遊戲對象的3C能力,從而擴展玩家的移動方式。(我覺得《黑神話》如果做成開放世界的話是不是也可以合理地利用大聖的七十二變來擴展自己的3C能力)

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