半年流水或超17億,今年最大黑馬策劃分享:好遊戲是刪出來的
要問今年的年度最佳遊戲,《光與影:33號遠征隊》(以下簡稱爲《33號遠征隊》)算得上有力競爭者之一。
不久前,在IGN發起的“What''s Your Game of The Year 2025 So Far(2025年至今,你心中的年度遊戲是?)”投票中,玩家需要以“二選一遊戲對決”的方式,從128款作品中選出自己心中的冠軍。結果,《33號遠征隊》在超過12萬次的總對決中,憑藉82%以上的勝率贏得了第一名,可以說是今年最大的黑馬。
遊戲的硬實力擺在那:MC媒體均分93分;官方此前宣佈銷量已突破500萬份。若以50美元的定價估算,其收入或已達到2.5億美元(約17.8億人民幣)。在遊戲發售時,葡萄君曾撰文,介紹過其背後小而美的開發團隊Sandfall。
前段時間,在科隆遊戲展同期的開發者大會(Devcom)上,《33號遠征隊》的首席遊戲設計師Michel Noah分享了這款遊戲戰鬥系統的設計思路。
Noah表示,《33號遠征隊》的特色,在於將實時反應機制,融入了JRPG的回合制框架。但這成了開發中最棘手的挑戰:玩家們光顧着處理實時操作,根本無暇思考回合策略。
面對這個核心衝突,團隊做出了一個關鍵決策,圍繞實時元素來重構回合制。這帶來了一系列大刀闊斧的精簡:技能從40個砍到25個,上百種道具只保留3種,同屏敵人從4個減到3個,連JRPG裏的物防和魔防系統都合二爲一……
而30人出頭的團隊能撐起如此迅速的迭代,工具是關鍵。比如,他們使用Excel,讓設計師無需打開引擎就能測試數值、快速調整。在Noah看來,正是設計師的高度獨立性帶來了效率提升,讓動畫師等其他同事能更直觀地理解他們的需求。
以下爲分享內容整理,爲方便閱讀,部分內容有所調整:
我先自我介紹一下。我叫Michel Noah,已經做了13年的遊戲設計師。我參與的第一款遊戲是《Dofus》,這是一款法國MMORPG,雖然你們可能不太瞭解,但它在法國非常火;之後我參與了《Wolcen: Lords of Mayhem》和《The Cycle: Frontier》的開發,後者是我的第一個虛幻引擎項目。
兩年半以前,我加入了Sandfall Interactive,擔任首席遊戲設計師。設計團隊成員包括創始人兼創意總監Guillaume Boucher,《33號遠征隊》最初是他的個人項目;之後Thomas加入,獨自負責了一段時間的關卡設計和遊戲設計;再後來我加入了項目;最後,Victor和Anthony也加入了我們,幫助我們在開發的最後兩年進行衝刺。
現在,讓我們進入今天的主題——《33號遠征隊》的戰鬥系統。
對於那些不瞭解這款遊戲的人,我介紹一下,《33號遠征隊》是一款以回合製爲基礎的JRPG。它有成熟的故事背景,設定在一個夢幻般的超現實世界中。戰鬥系統是它的特色——並非傳統的回合制戰鬥,而是融入了實時反應機制。你可以通過在正確的時機按下正確的按鈕,來完全規避敵人的傷害。
我們的靈感來自多個遊戲。比如《女神異聞錄》系列的UI設計和運鏡;《流放之路》的角色構築、符文效果以及它們如何相互作用……當然,整體框架仍然是傳統的JRPG,類似《最終幻想10》。
01
回合制:圍繞實時元素構建
讓我們回到4年前,看看遊戲最初的樣子。它看起來與我們今天的遊戲非常相似。我們最初設計的是一款經典的3D JRPG,有法力系統和上百種消耗道具。我們只是增加了一個閃避系統,你可以在關鍵時刻按下按鈕來躲避攻擊。
當時,我們還有一個傳統的防禦系統,你只需按住一個按鈕就能減少所受傷害,沒有時機判定。不過很快,遊戲進行了迭代,增加了格擋機制,因爲我們的創意總監非常喜歡《只狼》。
幾個月後,遊戲就演變成了新的形態:我們用每回合自動恢復的行動點取代了法力系統;加入了格擋反擊系統,並用虛幻引擎的Sequencer工具,實現了類似《女神異聞錄》的反擊效果。此外,我們也移除了那個按住就能防禦的系統,因爲它實在太無聊了。
由於這套系統相當獨特(儘管其他遊戲中也存在類似機制,但很難找到具體參考),我們必須做一些玩家測試,確保它可行且受人喜歡。起初,我們驚訝地發現人們很喜歡它,但也注意到,他們很難真正投入到遊戲的回合制策略中,因爲實時元素已經讓玩家應接不暇,難以再去思考複雜的戰術。
更重要的是,我們的團隊只有30人,希望做一款流程較短的JRPG。這意味着,玩家沒法像大多數JRPG那樣,花數百個小時去精通系統。
因此,我們決定簡化設計,圍繞實時元素來構建回合制部分——大幅減少戰鬥中的干擾信息,讓玩家更專注於行動本身。
一開始,我們想給每個角色做40個技能,戰鬥中可使用8個。但最終我們將角色技能總數縮減至20-25個(莫諾柯除外),戰鬥中可用技能減少到6個,以減少玩家的選擇負擔,讓他們能專注於更重要的內容。
莫諾柯可以在戰鬥中變身成其他怪物
我們減少了道具數量。起初我們像大多數JRPG一樣有上百種道具,有的可以燃燒,有的可以造成傷害。經過多次迭代後,我們決定只保留最核心的三種:復活、治療和充能。這是因爲展示上百個選項的UI設計太難了。
我們減少了戰場上的敵人數量,從一開始的4個減少到3個。這不僅能簡化戰鬥,還方便鏡頭更好地在戰鬥中展示所有內容。
屬性系統也簡化了。我們之前有一個精通屬性,提供施加狀態效果的概率;還有一個命中屬性,提供命中某些敵人的概率。
我們之前還區分魔法攻擊和物理攻擊,甚至是不同的防禦。最後,我們把它們合併成了一個系統,把一切都削減到了最低限度。原因是一樣的,沒有必要把戰鬥搞得太複雜。
然後,我想談談我們是如何圍繞“格擋”來平衡遊戲的。這對我來說有點棘手。
我剛加入時,非常擔心遊戲的平衡性,主要因爲格擋系統缺乏精細度。我們能調整的只有格擋的判定時機窗口。
比如,某些攻擊動作前搖不明顯,很難被玩家預判。大多數時候,我們會調整動畫或運鏡,讓玩家能理解攻擊何時到來;但偶爾我們沒時間這麼做,那就會調整數值——攻擊越難預判,傷害就越低。
在此基礎上,我們引入了新系統:跳躍和靈墨反擊。它們比常規的格擋更容易觸發,有利於緩解玩家的挫敗感。特別是後者,它出現在一套連招的末尾。即使你之前全部格擋失敗,依然有機會觸發這個更容易成功的反擊。
此外,我們爲玩家增加了大量的防禦性選項:技能、裝備和符文,讓他們可以構築不那麼依賴格擋的角色。
在最後一次玩家測試中,我們收到很多反饋:人們很喜歡這個系統,但沒有像我們希望的那樣去鑽研遊戲的難度,他們想要簡單模式。因此,我們調低了普通模式的難度,並加入了故事模式,讓玩家可以純粹享受劇情,無需糾結於困難的戰鬥。當然,我們也爲尋求挑戰的玩家增加了更高難度的模式。
我談了很多關於難度的內容,但遊戲設計不只涉及難度。我們還在操作上加入了大量視聽反饋。
我們爲玩家的成功操作,比如格擋和反擊,添加了豐富的視聽反饋。我想每個玩過遊戲的人幾乎都能立刻回想起那套標誌性的音效。不限於此,我們還利用了虛幻引擎的Sequencer工具來增強表現力。
- 時間膨脹(Time Dilation):動畫開始時有一個短暫的慢動作,然後在實際移動時加速,在擊中之前又是一個慢動作,以強調衝擊感。
- 回彈效應(Rebound Effect):在擊中前,鏡頭會稍微拉遠一點,然後更快地推近,同樣是爲了強調衝擊感。
- 鏡頭震動(Camera Shake):準備動作時有輕微的晃動,然後在命中瞬間有一次強烈的震動。
- 手K鏡頭:遊戲中每個動作、每次攻擊的鏡頭都是手工製作的,有時由設計師完成,有時由專門的電影團隊負責。例如,在呂涅跳起前,鏡頭會從右向左移動,然後突然拉遠,營造戲劇效果並強調動感。
- 我還沒提特效,但你可以看到遊戲內的效果。
除了視聽反饋,讓玩家去完成困難任務時,用遊戲機制來獎勵他們也很重要。
- 格擋:很難,但你的回報是規避傷害。在我們的遊戲中,如果你能格擋所有攻擊,實現無傷是可能的。而且你還會獲得行動點,這在遊戲中非常強力。
- 反擊:也很難,因爲它要求你格擋掉一次攻擊的每一段才能觸發。但它的回報是鉅額的傷害,與之前展示的華麗動畫相呼應。
當然,還有直接的獎勵。讓玩家開心很簡單,給他們獎勵就行了。我們確保每次遭遇戰都有豐厚回報。
例如,擊敗Boss“決鬥者”後,你會得到武器、升級材料、經驗值,你想要的一切。即使是普通敵人,我們也提供了同樣有意義的獎勵。
最後還有勝利結算畫面,我們在上面花了很多功夫:結尾有定格和慢動作,各種獎勵信息從左右兩側彈出,給你一種“這是我應得的”的滿足感。
接下來,我想談談回合制元素。遊戲並非只有實時反應和視聽反饋,我們也希望提供一定的策略深度和思考空間。
大家都知道“易於上手,難於精通”的原則。這對我們的遊戲也適用。我們的理念是,你不需要理解太多就能享受遊戲,而願意深入鑽研的玩家也能獲得巨大回報。
爲了實現這一點,我們爲所有角色設計了簡潔且多樣的機制。每個角色都獨一無二,但都力求簡潔。當你剛獲得一個技能時,它總是有效的,不需要滿足什麼額外條件才能發揮巨大作用。
我們會高亮顯示最優選擇,基本上,你不用想太多。如果某個東西高亮了,那它很可能就是你該釋放的技能。
以呂涅的機制爲例,她的技能會產生“標記”,也會消耗“標記”獲得額外效果。你釋放的第一個技能,會觸發連鎖反應,自然地引導你去施放下一個被高亮的技能。
更重要的是,每個技能的主要效果都包含在其基礎效果中,無需額外條件。例如,冰槍會造成冰霜傷害並附帶減速效果。最初,減速是作爲額外效果存在的,但後來我們將它移至基礎效果。畢竟,你釋放這個技能的主要目的就是減速。
這一邏輯被應用到遊戲中幾乎所有技能上:只要釋放技能,就能獲得其主要效果;而想要最大化收益,則需要在正確時機釋放正確的技能序列。當然,這並非強制要求。
裝備和屬性也是同樣的邏輯,分爲兩個層面。首先是簡潔性,數值越高越好,每件裝備都至少提供兩種屬性。在此之上,是更有深度的符文效果,你可以組合它們,定義你自己的玩法。
還有屬性點的成長曲線。在低等級時,爲了保證初期體驗流暢,你不必投入太多屬性點就能獲得顯著效果。同時,我們提供了便捷的洗點方式,方便玩家嘗試不同構築。
02
模塊化與工具
如我之前所說,我們是個小團隊,如果想提供大量的獎勵,特別是裝備的符文效果,確保每個敵人都能帶來有意義的回報,並提供大量角色技能和敵人種類,我們得讓設計儘可能模塊化。
我們使用了虛幻引擎的藍圖(Blueprints),讓設計師能直接集成符文效果、敵人種類和技能設計,從而快速迭代——迭代越多,遊戲品質就越高。
對於符文效果,我們基於“觸發器-條件-效果(Trigger-Condition-Effect)”的模塊化結構。
舉個例子。“回合充能”這個符文,效果是回合開始時獲得1行動點。從藍圖上來看,第一個框是“行動點變動”,條件是如果是回合開始,則給予1行動點。無論你改動哪個框,它依然有效。
比如你想做“回合治療”功能,你只需把效果改成“治療”,它就會在回合開始時治療角色。這看起來很容易,實際上也確實如此。但這背後是工程師們在底層做了大量工作,才讓這一切變得易於理解並且有效。
然後,我想多談談我們的工具,因爲工具可能是激發設計師創造力和提升生產力的關鍵。在我過往的工作中,工具支持常常不足。雖然虛幻5本身是一個強大的工具,但我認爲僅靠它還不夠。
我強烈推薦設計師使用Excel——它能讓我們構建自己的工具,實現任何想要的功能。
舉個來自我上一個項目《Wolcen: Lords of Mayhem》的例子。我們想爲敵人做一個“陣型(Formation)系統”。但設計使用的工具非常糟糕。他們要求我用文本編輯器,在一個XML文件裏,手動輸入每個敵人的座標來創建陣型。
我當然沒那麼幹。我直接在Excel裏做了個東西,讓我可以在表格裏畫出陣型,然後它會自動導出XML文件。如果我沒做這個工具,我可能只會做一些非常基礎、非常簡單的陣型,而且很難調試。
在《33號遠征隊》中,虛幻引擎的Sequencer功能是讓遊戲觀感和手感出色的關鍵。因爲我們是回合制,所以更容易把動畫和過場動畫融入玩法。
遊戲中的每一次攻擊都是一個獨立的Sequencer。這意味着它們大部分,是由設計師手工製作的,包括鏡頭移動、震動、慢動作等變化。這是一個非常強大的工具,讓我們能快速測試大量方案。
它還允許我們調整和混合動畫。如果我們對動畫不滿意(並非動畫師做得不好,而是我們自己也不確定想要什麼效果),我們可以自己動手,在引擎中調整、測試,並實時反饋給動畫師,幫助他們更好地理解我們的意圖。
下面是一個動畫修改的例子。左側是我們最初的動畫,測試後發現,它對玩家來說太難預判和格擋。於是,我們調整、剪輯,用不同的方式混合它,做了兩個版本:一個只有兩段攻擊,用於普通敵人;另一個段數更多,用於遊戲終局。理想情況下,這些修改應由動畫師重新制作,但時間不允許,最後這個版本就直接用在遊戲裏了。
我們還利用焦距(Focal Length)和“回彈效應”來預告敵人的攻擊,幫助玩家直觀判斷攻擊時機。例如攻擊時,鏡頭會先拉遠再推近,並附帶一些“時間膨脹”效果,在攻擊前短暫慢動作,提示玩家“攻擊要來了”。雖然不確定是否真的有效,但測試中沒有發現負面影響,我們就保留了。
最後,讓我們回到我最喜歡的話題:Excel。
我剛加入Sandfall時,我只有虛幻引擎的Data Table(數據表)。它們很棒,但缺少很多Excel擁有的功能。Excel最大的優勢在於數據可視化和集中化——前者讓我理解遊戲裏有什麼,在哪裏、該如何處理;後者讓我方便用公式和曲線來進行平衡、迭代。
我們使用Excel的流程非常原始:從虛幻引擎導出數據表,在Excel中導入CSV文件、處理數據、重新格式化後再導回引擎。
該流程中的主要問題是,你會有多個數據源。有些成員習慣在引擎內修改數據表,而我們在Excel中工作,可能導致數據覆蓋。這可以通過規範流程來避免。我的建議是讓工程師幫你把數據直接從數據庫導入Excel,然後再直接導回引擎,甚至不用打開引擎。
我們的Excel結構如下:
- 主表:包含所有角色、敵人、經驗值、金幣等成長曲線。
- 子表:基於主進度表,分別創建角色技能表、裝備表、敵人表。
- 構築模擬器:配置裝備和技能,計算傷害輸出等數值,無需啓動遊戲即可測試構築。
關於成長曲線,我總是用非常簡單的公式:基礎值+(等級*增量)^係數。它易於修改和可視化,冪次的係數爲0時是線性增長,越高則曲線越陡峭。
這是我們所有屬性的曲線。藍色的是基礎屬性,紅色的是屬性點,黃色的是裝備。我們的思路是,在低等級時,屬性點收益遠比裝備收益更強;而在高等級時,這又會反過來。因爲在低等級,玩家的選擇主要體現在分配屬性;在高等級,玩家的選擇則更多體現在裝備搭配上。
至於敵人,基本是用的相同公式,與角色成反比。如果你希望你的角色能抗住2次攻擊,那就讓敵人的傷害就設爲角色生命值的一半。我們先構建角色的屬性,再按比例設定敵人的屬性,並通過關卡乘數設置閾值,比如10級後,某些敵人生命值會大幅提升。
此外,我們將Excel變量接入了藍圖。以瑪埃爾的技能“熊熊畫界”爲例,它的基礎傷害是 0.4,乘以角色的能力值。你可以看到“Base Damage”這個變量名直接出現在了藍圖裏。
我請工程師做了一個數據表,裏面存放了我們所有Excel裏的平衡變量。我們在藍圖裏手動引用它們一次。一旦設置好了,我就可以在Excel裏修改所有東西,重新導出,然後遊戲裏的一切都同時更新了。這讓我們可以進行大規模的批量修改。
下圖是所有技能的對比。藍色的是偏弱的,紅色的是偏強的。有了這種可視化,我甚至不用打開遊戲就能微調。但永遠要記住:數據不代表一切,一定要在遊戲裏測試。
下圖是我之前說的“構築模擬器”。你可以給角色配上特定的裝備和增益,實時查看每個技能造成的傷害。這讓你可以在不打開引擎的情況下,測試遊戲中的所有東西。
03
結語
在《33號遠征隊》的設計中,最重要的一點是,作爲設計師,我們獲得了高度的獨立性。
我們能直接調整動畫,集成敵人和技能,這在以往項目中是無法想象的,不僅提升了效率,也讓動畫師能更直觀地理解我們的需求。歸功於工程師搭建的好管線。我們能快速實現創意,並通過大量玩家測試不斷優化。
儘管實時系統很難做,但我們通過豐富的視聽反饋和獎勵機制,讓成功格擋/反擊變得極具成就感,保持了回合制的簡潔,至少在表面上是這樣,同時在模塊化和角色構築方面增加了深度。
所有這一切,都是因爲我們有好的工具。這幫助了我們管理反饋,並快速迭代。