《揹包英雄》:空間關係的魔法


3樓貓 發佈時間:2022-06-23 17:49:20 作者:beenoera Language

最近老菊更了一期視頻,作為優秀員工在視頻發佈後我立刻挑著小板凳坐好,邊打瞌睡邊看完了視頻。這款叫做《揹包英雄》的小遊戲,設計得實在是太絕了,一開始我還以為只不過是需要玩家有超強的揹包空間管理能力,後來突然冒出來沉重的物品、傳導物品和加強附近格子的強化物品之後,我的腦洞整個掀開了。
老菊的玩法看起來已經很imba了,但是當我在官網的評論區溜達了一圈以後,我發現這個遊戲的概念簡直牛逼到了突破天際的地步,讓我想起了《Minecraft》工業版裡面一票大佬用核電模擬器排布核燃料棒和中子反射板排出最高核電輸出功率的各類排布方式。
簡單地看看下面這張圖片吧,如果說一般的roguelike遊戲只不過是在拼運氣收集道具庫裡面道具組合,以形成一個牛逼的build,那麼這款遊戲就是在這個基礎上還要考慮各類道具的空間排布,然後還要窮盡你的智力去找一個更優的空間排布的解。這種設計不禁讓我思考起了一個問題,遊戲中的這種空間關係引起的優秀玩法確實值得一說。

一、從1D的空間關係說起

在這裡我其實想先講幾個我認為非常特別、非常典型的例子。這些例子並沒有能夠達到《揹包英雄》那種牛逼程度,但是我認為僅僅是1D的,僅僅是這樣的一種位置關係的利用,已經能夠讓遊戲增添很多的樂趣了。
這個第一個想要說的遊戲,是《暗黑地牢》。
《暗黑地牢》中,不管是敵人還是己方,都有4個格子,讓四個角色可以構成一種簡單的前後排的關係,前排一般承擔傷害,主要近戰為主,有點像坦克,後排遠程、奶。因此這一橫向的四個格子的簡單排布本身就是RPG中的戰法牧站位的一個微縮、簡化。在傳統的遊戲裡面,比如說《魔獸》,玩家之間通過真實的空間走位,以及和敵人的空間距離的把控,實現這種前後排的關係。
但是《暗黑地牢》給每一個角色的適合站位以及攻擊的落點都進行了設計。有些角色天然地就適合切後排、或者擅長群攻,這類似於一些3D戰旗遊戲中的手長和攻擊範圍,但是因為角色位置並不能輕易更改、而且也就只有4個站位,這些設計賦予了角色更鮮明的定位。甚至於在一個隊伍中,你需要考慮四個角色的攻擊落點最好有一定的配合,不能夠過於集中在前排,也不能只能打到後排。
1 / 2
當然了,在這一套簡單體系上面,能牽拉地方角色的鉤子、或者是讓敵人後退的噴子,又發揮了改變敵人站位以適應己方攻擊落點的新的策略要素。玩家也可以隨時調整角色的站位,以應對敵人攻擊落點的特徵,避免更大的戰損。某些噁心的敵人也有讓玩家角色位置對調,或者拉到前排的技能,之所以說他噁心,其實就說明了遊戲本身對於角色站位本身是十分看重的,一旦破壞站位的順序,有可能會極大地打亂戰鬥的節奏。
《暗黑地牢》的這套系統,可以看做是把RPG中的位置、角色技能範圍等和空間關係緊密相連的要素精簡。但是濃縮後得到的卻是一種更特別的、更奇妙的體驗。如果非要類比一下的話,我覺得很多年前玩《火焰紋章:英雄》這款遊戲的時候,因為手遊版的地圖狹小,我在攻克一些活動副本的時候,甚至玩出了象棋殘局的感覺。同理還有《Into the breach》,這些遊戲的棋盤越小,空間關係、位移規則乃至於ai的仇恨系統、攻擊特性等數據都變得如此重要,你必須要了解敵人的下一步怎麼走、他的攻擊力多少、防禦力多少,自己在隨後的幾步中,應當怎麼應對,這是狹小棋盤帶來的一種侷促中求變化的美感。

二、2D空間中的繁雜玩法

必須注意的是,我從《揹包英雄》中歸納出來的空間關係的玩法,和戰旗類遊戲的這種空間移動作戰的玩法是不同的,所以我不會去對比戰旗中一個角色給附近角色提供buff或者連攜戰技這類玩法。《揹包英雄》中抽脫出來的玩法精髓,是基於一種靜態的不會變化的物品空間擺放關係的玩法,和戰旗遊戲中回合和回合中的這種佈局和行進是完全不同的。
接下來我想從我比較熟悉的一個遊戲,也就是《Minecraft》工業版mod的核電站設計講起。在這個mod裡面,很多小系統都有他們獨特的玩法,比如像是在機器間的動力傳導,還有利用不同能源的各種發電機器,甚至還能搞一個用煤爐供能驅動的發電機供電的電熱爐加熱的斯特林發電機這樣的奇葩組合,就是能源效率不高而已。
而核電這一塊,也是專門設計了一個交互的ui,在一個若干格子的矩形區域內,像真正的核電站一樣可以放置燃料棒、中子反射板、還有散熱原件等元件。然而如何放置元件,會對反應堆的效率、反應率的產熱等都有影響,最終導致整個反應堆的設計截然不同。比如說,一根燃料棒默認產生的電是5EU/t,產熱4HU/t,那麼兩根分開放就是10EU/t,產熱8HU/t。那麼就只需要放一些散熱風扇在旁邊,能夠將8EU/t的熱排出即可。
但是如果這兩根放在相鄰的兩格內,那麼由於燃料棒會收到對方發出的中子脈衝,所以每一根產生的電是原來的兩倍,如果一根燃料棒附近有三根別的燃料棒,那就是原來的4倍了。但是產生的熱可不是原來的4倍那麼簡單,具體公式就不放了,可以看下面的表。簡單而言,熱的產量是熱產量倍率的平方再乘2。所以,不能夠盲目地提高核燃料棒的效率,否則產熱過多就會引起堆芯熔化甚至爆炸。
這個時候就需要考慮如何高效地將熱散走的問題了。遊戲裡面每一個元件都有他們的“血條”,其實就是積熱條,積熱到滿的時候,元件就會被摧毀,接下來下一步就是反應堆外殼積熱過高,最終引起爆炸。一個鑽石風扇可以從燃料棒帶走12的熱,看起來很多,是一根燃料棒的3倍,但是當燃料棒和很多別的燃料棒相鄰、或者有雙聯、四聯的燃料棒出現時,單格子12的散熱就已經滿足不了這個需求了。
這個時候玩家面臨的問題是,燃料棒周圍“相鄰”的格子數量不足,即便遊戲中最高級的散熱器也沒有辦法在有限的格子裡面把熱全部處理掉。所以遊戲推出一種新的機制,就是元件換熱器,可以通過一個格子把燃料棒的熱引出,傳導到附近三個散熱器上。這一個元件的作用機制,就是本文非常想講的空間關係機制的核心。“相鄰”在2d空間上作為一種基本的規則,和“相鄰”的物體以某種數學關係進行交互,並且引入“導體”將這種數學關係在更遠的距離上進行傳遞,就可以形成很多很奇妙的設計。
以下圖作為一個例子,兩根四聯並排放已經可以產生320HU/t了,這個時候已經不能簡單地用換熱器和散熱器了,這是因為散熱器的傳熱效率其實非常低,而換熱器卻佔用了一個格子的空間不會散熱,所以熱的引出和熱的排出這兩者之間也是一對需要權衡的因素,而很巧,有一個叫元件散熱器的工具,不僅可以換熱,也可以散熱,屬於兩種之間的融合。最終,這些元件的結合,催生出無數種核電站的設計,這裡就不一一列舉了。

三、真正的位置關係的“魔法”

上面所說的兩款遊戲,《暗黑地牢》引入了站位和攻擊落點的特殊性來增強可玩性,《Minecraft》工業版的核電設計則利用了2D空間關係中的“相鄰”的關係。而《揹包英雄》更進一步,引入了更多位置關係的玩法。
我們先來講一下《揹包英雄》中和“相鄰”相關的玩法要素。舉個例子,老菊視頻裡面用的弓,根據弓的長度,可以發射弓右側的所有箭矢。除此以外,也有給“相鄰”格子加攻擊的加成物。這些就有點像核電站裡面的元件一樣,只要放在旁邊,就能發揮一定的作用。
但是《揹包英雄》還有一些絕活,像膠帶這樣的小工具,就像核電站裡面的換熱器一樣,可以將相鄰的格子鏈接起來,把某些有特殊效果的加成物的作用,從相鄰的格子引出去,和更多的空間相接觸,實現同樣的功能。更絕的是,《揹包英雄》不僅利用了“相鄰”的關係,也有一些道具利用的是“對角線相鄰”的關係。所以一個膠帶可以同時承擔“相鄰”和“對角相鄰”的傳導作用,並且巧妙地將“對角相鄰”轉變成了“相鄰”,畢竟“對角相鄰”其實挺彆扭的,佔用的空間也很大。
同樣利用這種“相鄰”關係進行傳導的還有遊戲中的法力道具和法力(電池)寶珠,只要相鄰,那麼一個法力道具就可以不停地使用,直到用光所有電池的電量。這其實更像是一種限制而非是一種加成,畢竟很多遊戲裡面,電池的電量都可以隨意使用,不需要考慮揹包內物品的放置形式。但是可能在別的遊戲裡面並不存在著這種有趣的體驗,一個勇者、英雄,揹著一揹包的法力水晶,站在魔王面前,不停地舉起手中的戒指,口中唸唸有詞,每念一次,英雄的殺氣又重了一絲,直到最後一次英雄拿起了戒指,發現戒指已經不會發光了,電量用光的戒指彷彿已經空膛的槍一樣。然後英雄拿起一把長弓,在弓上從上往下搭上了三長一短的箭……
這時候一個熱心的觀眾提出了問題:為什麼不用四根長箭呢?講故事的人狠狠地盯了這個人一眼,其他觀眾也為這名觀眾不合時宜、不懂遊戲規則的發問而感到惱火:很明顯四根長箭的話,勇者就沒法用膠帶傳導魔戒的作用了!然後勇者四箭先後射出,直接把一臉懵逼的魔王送走了。這就是這個遊戲玩起來的感覺……
遊戲中還有其他的玩法,在這裡再介紹一個。
如下圖所示,每一個盾在使用的時候,都能夠讓相鄰的武器和盾被使用一次,說到這裡其實大家可能就懂了,這就是一個全自動的流派,因為每個盾被使用的時候都會自動使用一次其他所有盾和武器,所以……額……我們再來看看這一把小刀,每次擊殺一個敵人就會加1點攻擊力,不過有熱心的群眾發現到後期+1攻擊會變成+10,最終這把武器從3攻擊變成了3w攻擊力,而且每回合會被用很多很多次,自動地……這張圖的主人表示已經玩膩了,但是純粹想看看這麼imba的流派在無盡模式裡面到底能走多遠。
這一切能實現的基礎,就是膠帶能夠無限傳遞加成、作用特效。雖然說沒有膠帶,也可以實現某種程度上的互相加成和觸發,但是一個格子的“相鄰”只有4個,對角線只有4個,這種特效是有限的,也無法在無盡模式中有這麼神奇的發揮。乍一看,這個系統產生的結果其實和之前我們說的工業版裡面的核電設計甚至有很強的即視感。

四、空間魔法背後的數學之美

簡單地講,在一個二維的空間內,根據相鄰格子的狀態,在格子之間通過一種簡單的規則進行某種數學上的傳遞。可能你很快就從這種描述中,想到了一個最簡單的遊戲,沒錯,就是《康威生命遊戲》,生命遊戲的基本法則,可以用寥寥幾句話描述清楚,而且這些法則只和“相鄰”這一個概念又關係:
  • 每個細胞有兩種狀態——存活死亡,每個細胞與以自身為中心的周圍八格細胞產生互動(如圖,黑色為存活,白色為死亡)
  • 當前細胞為存活狀態時,當週圍的存活細胞低於2個時(不包含2個),該細胞變成死亡狀態。(模擬生命數量稀少)
  • 當前細胞為存活狀態時,當週圍有2個或3個存活細胞時,該細胞保持原樣。
  • 當前細胞為存活狀態時,當週圍有超過3個存活細胞時,該細胞變成死亡狀態。(模擬生命數量過多)
  • 當前細胞為死亡狀態時,當週圍有3個存活細胞時,該細胞變成存活狀態。(模擬繁殖)
這些簡單規則,在二維空間以一格範圍為作用半徑,反覆互相影響,而形成了無限的可能性,不僅有一些圖形可以保持穩定不變,還存在一些圖形可以反覆週期性地演變。
當然了,在我們前述的幾個遊戲裡面,並不存在變化,但是,實際上我們前面說的“傳導”這一性質的物品,他對於二維空間的擴展和延展,其實還有另外一種極具美感的表現,其實就是“分形學”的各類圖形:
1 / 2
分形指的是一個圖形的部分和整體具有相似性,在這種相似性繼承而不斷細分的發展中,就能發展出各種各樣的宏觀的圖案。而前面說到的所有遊戲不過是分形學裡面對於“四邊形”的一種。比如說上下左右的分形和對角線的分形就是如下圖的形狀:
1 / 2
當然分形是一種高度重複的結果,但是,遊戲中的“畫板”並沒有那麼大,遊戲中需要權衡的因素遠不止道具之間的一種作用,所以,在遊戲中,我們可能看不到這樣美麗的分形圖案。但是這種通過“傳導”介質來“佔據”或者說利用更多二維空間的法則,其實就是分形的基本法則。

總結

從以上幾個遊戲中我們可以看到簡簡單單的空間關係的利用,就可以有這麼多有趣的空間組合。理論上這種組合是有無窮種的,但是這些可能性又受到遊戲中的基本規則限制,即便如此,我認為這類能夠利用二維空間擺放來夠築build的玩法,其可能性一定是要比之遙獲得幾個武器、道具組合就能殺翻全場的遊戲玩法更有趣的。
更有意思的是,這是一種全新的遊戲的體驗,就像王老菊的build玩起來是英雄鼠鼠每個回合前不停舉起手中的戒指直到魔法用盡一樣,其他的build可能看起來感覺就像鼠鼠身上背了十幾個盾牌和一把匕首,但是這把匕首卻像機關槍一樣能夠不停發射知道敵人全部被秒殺,這些玩法不管怎麼說都非常地魔性。說實話,這種體驗非常有工程師的感覺,憑什麼勇者就一定要拿著屠龍劍才能殺死魔王,憑什麼不能夠用隕石或者壓路機來把魔王砸死呢?如果一輛不行,那為什麼不能用一百輛呢?(巨魔附身)
十分期待這個遊戲還有什麼神奇的流派,非常期待這個遊戲的正式版。老實說,這個遊戲現在的流派和玩法實在已經非常充實了,充實到了無盡模式都可以有很多解法、很讓人上癮。但是究竟作者還能把這種驚喜感再往上拓展多少?
實際上這個遊戲設計的核心理念並沒有那麼複雜,找到一種位置關係的加成方法,從一把傳奇武器開始,把最牛的特效作為build核心,然後往下逐級設計其他品質的道具,引導玩家從最常用、最容易獲得的道具開始體驗和構築他心中的build,然後在出來核心道具之後,就是留待玩家自己去發現這些build的可能性了。

還有這個。。棍棒教育?

用膠帶把菜刀都綁在一起進行輸出(40米?)

這個應該是全自動菜刀加特林了吧

還有這個。。棍棒教育?

用膠帶把菜刀都綁在一起進行輸出(40米?)

這個應該是全自動菜刀加特林了吧

還有這個。。棍棒教育?

1 / 3
說實話,我並不覺得遊戲中的這些imba的流派像遊戲評論區說的那樣需要“平衡”,稍微削弱讓主線的體驗能夠維持一定的挑戰性是可以的,但是我覺得如果非要找到這個流派的最優解,然後根據最優解機械地削減這個build的體驗,未免又有點太無聊了。說白了,在我的認知中,遊戲的樂趣很大一部分來源於對未知的感知和猜測,並且在這種未知之中釋放自己的想象力,並且玩出屬於自己的體驗。我想作為遊戲開發者,這種對未知的不可控的容忍甚至是縱容,有時候也會有催生出一些奇特的成果。我不相信這個遊戲的作者每加一個道具都知道最優解是什麼,畢竟這是一個需要機器學習來解的一個題,但是他也能夠從評論區或者社區中玩家發現的新解法中獲得無窮的樂趣。
這讓我想起陶德叔叔有次採訪說的,把所有東西扔在一起,看看可能發生什麼吧!可能在別人口中這是一種設計上的懶惰或者對作品的不負責任,但是從這個遊戲的看來,這說不定就是B社遊戲蜜汁好玩和吸引人的原因。(巨魔二度)
陶德叔叔:遊戲最終變成砸樣?我不知道,但是總會自己好起來的~it just works~

陶德叔叔:遊戲最終變成砸樣?我不知道,但是總會自己好起來的~it just works~




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