在策略與 Roguelike 類型的游戲中,戰斗規模往往會隨著玩法設計不斷擴大。當數百個單位同時出現在同一戰場上時,如何在保持游戲節奏的同時維持穩定性能,成為開發過程中必須面對的核心技術問題。
《幻面之旅》是一款融合塔防與自走棋機制的 Roguelike 戰斗游戲。這個包括主程、主美、制作人、概念設計師以及負責海外推廣顧問的五人小團隊,此前曾開發過登上E3展的動作 Roguelike 游戲《合金重組》。相比上一款作品偏動作化的戰斗體驗,《幻面之旅》的設計目標更加明確:構建一個“輕量但高密度”的策略戰場。
![]()
在游戲中,玩家需要守護場景中央的“女神”防御核心,并在不斷涌入的敵人攻擊下維持防線。玩家通過擊敗敵人獲取經驗和貨幣,用于召喚隨從、建設防御塔或提升自身屬性。隨著戰斗推進,玩家可以逐漸形成不同的發展路線:選擇更多隨從可提升人口上限,獲數值偏低增幅;選擇精銳化隨從,人口上限提升少,但隨從升階上限變高,獲更強 buff。這種策略分化讓戰場規模在后期關卡中迅速擴大,刷怪量峰值時可能超過三百個單位。
![]()
正是在這樣的設計背景下,團隊在項目早期就將性能作為核心技術目標,并最終決定將開發環境從 Unity 遷移到團結引擎。
當戰斗規模成為核心挑戰
團隊此前的項目主要基于 Unity 2019 和 2021 開發,因此在技術上已經積累了較多經驗。但在《幻面之旅》立項階段,開發者重新評估了未來可能出現的性能壓力:大量角色、重復行為邏輯、密集的戰斗特效,以及不斷增加的渲染對象數量,都可能成為潛在瓶頸。
最終團隊選擇使用團結引擎 1.6.7 作為項目的主要開發版本。遷移的原因并不在于功能差異,而更多來自于性能考慮。對于一個需要在同一場景中同時運行數百個單位的項目來說,團結引擎的合批優化帶來了顯著的性能提升。
在技術規劃上,團隊為項目制定了三個核心優化方向:首先通過 SRP Batcher 提升渲染批處理效率;其次借助團結引擎的 Profiler 工具建立持續的性能分析工作流;未來在邏輯層面逐步引入 ECS 框架,以優化戰斗中大量相同行為邏輯敵人的情況。這些策略共同構成了項目的技術基礎。
讓數百個敵人同時出現:SRP Batcher 的作用
雖然《幻面之旅》具有塔防元素,但敵人會在短時間內大量刷新,后期關卡的戰場密度明顯增加。當數百個角色同時存在時,渲染階段的 CPU 開銷往往成為幀率下降的主要原因。
為了解決這一問題,團隊在渲染層面依賴 SRP Batcher 進行優化。SRP Batcher 通過統一材質和渲染狀態,使大量使用相同 Shader 的對象能夠共享渲染數據,從而減少 CPU 與 GPU 之間的狀態切換成本。在實際開發過程中,這一優化策略對高密度戰斗場景產生了明顯效果。
![]()
團隊的測試表明,在游戲前中期戰斗規模逐漸擴大的階段,幀率基本可以保持穩定。只有在游戲末期接近刷怪峰值時,才會開始出現較為明顯的幀數下降。對于以大量同類敵人為核心玩法的策略或 Roguelike 游戲來說,這種批處理優化能夠顯著延長穩定運行的區間。
用數據驅動優化:Profiler 的日常使用
在持續優化過程中,團隊還使用了團結引擎的 Profiler 工具來定位性能問題。打包時勾選 Development Build、Autoconnect Profiler,可在真實運行情況下觀察各項開銷,在編輯器內也能根據時間消耗找到需要優化的行為。
![]()
![]()
通過 Profiler,開發者可以清晰地看到 CPU 與 GPU 的時間分布,以及腳本執行、渲染調用和 GC 分配等關鍵指標,通過時間消耗排名快速定位最昂貴的行為邏輯,再針對具體系統進行針對性優化。這種以數據為依據的調優方式,在高密度戰斗場景中尤其重要,很多性能問題只有在真實規模的戰斗中才會顯現出來。
為規模化戰斗準備:ECS 架構的引入
隨著戰斗規模擴大,傳統基于 MonoBehaviour 的架構會面臨大量 Update 調用、對象生命周期管理復雜以及 GC 壓力增加等問題。特別是在敵人行為高度相似的情況下,這種架構往往無法充分利用現代 CPU 的緩存結構。因此,團隊計劃逐步將項目整體采用 ECS 框架進行優化。ECS 將數據與行為邏輯解耦,使系統能夠以更連續的數據結構處理大量實體,從而獲得更好的緩存命中率和并行計算能力。
在《幻面之旅》中,絕大多數敵人的行為模式實際上非常一致:移動、搜索目標、攻擊、受傷和死亡。這類重復度極高的邏輯非常適合使用 ECS 批量處理。雖然目前項目仍在規劃這一架構轉變,但團隊的目標很明確:為大量角色的戰斗場景進一步壓榨性能空間。
![]()
當同一套戰斗邏輯走向更多平臺
從《合金重組》到《幻面之旅》,團隊的項目開發計劃盡可能輻射更多平臺。團結引擎在跨平臺開發上的便利性,成為了團隊以更低的開發成本觸達到更多玩家的關鍵原因。
就目前的開發經驗來看,游戲的核心代碼在不同平臺之間基本可以保持不變,真正需要針對性調整的部分集中在玩家交互方式和 UI 層。也正因為底層開發路徑足夠統一,團隊才有可能在不反復重構主干邏輯的情況下,把項目逐步推進到 PC、移動端、主機,甚至小游戲平臺。對于中小團隊而言,這種跨平臺能力能夠顯著減少重復開發,讓有限的人力更集中地投入到玩法打磨和內容完善上。
在輕量化流程中追求精致表現
在《幻面之旅》的美術實現中,團隊并沒有把“風格化”理解為單純的視覺選擇,而是把它放進了整體開發流程中一起考慮。對于一個小團隊來說,理想的美術方案不僅要能夠建立辨識度,還要足夠輕量,能夠降低光照、資產制作和迭代過程中的成本;同時,它又不能以犧牲表現力為代價,戰斗中的角色、特效與場景仍然需要維持足夠細膩的完成度。
基于這樣的思路,團隊逐步形成了一套偏輕量化的美術路徑:一方面通過“無影動畫”風格控制渲染與光照復雜度,另一方面借助 AI 輔助工具提升前期概念設計效率,再結合 Unity 成熟的粒子系統完成戰斗特效,最終在相對便捷的工作流中,維持了游戲整體較完整的視覺呈現。
“無影動畫”:一種更輕盈的視覺方案
《幻面之旅》采用了一種較為獨特的視覺風格,團隊將其稱為“無影動畫”,靈感來自二維動畫作品。在這種表現方式中,場景仍然具有完整的視覺和氛圍變化,但角色本身并不會參與復雜的實時陰影計算。
![]()
這種設計并不僅僅是風格選擇,同時也是一種技術策略。通過減少角色陰影和復雜光照的參與,開發者可以大幅降低實時光照與烘焙貼圖的開發成本。角色視覺變化主要通過后處理效果、場景濾鏡以及 Shader 調整來實現,例如為角色添加校色 Shader,針對不同時段進行校色,并掛上關卡的全局濾鏡,來進行諸如色彩平衡、飽和度、明度、亮度的調整。
![]()
同時,團隊還根據不同時段建立光照效果數值數據庫,當關卡抽取到對應時段,就從數據庫中獲得其對應的參數,應用到全局設定里。
![]()
對于規模較小的團隊而言,這種方式在保持視覺體驗多樣的同時,也能顯著減少實時光對性能消耗的影響,提升場景迭代效率。例如戰斗大招場景,只需提前預制好技能數值參數,即可根據技能的美術設計進行濾鏡與相關材質的全局校色。
![]()
*技能對全局校色
AI 工具進入美術生產流程
在資產方面,團隊也嘗試將 AI 工具引入到美術流程中,主要使用網上開源的 PS ComfyUI,將手繪流程與 Photoshop 插件實時演算相結合。
![]()
![]()
為了保證風格一致性,團隊并沒有使用 AI 直接生成最終資產,而是主要將 AI 用于概念設計階段。例如在早期草圖中,美術會先繪制基本的角色正面設計,然后通過 AI 工具生成多個視覺方向,再進行人工篩選和調整。相比完全手繪的流程,這種方法能夠更快地探索不同的視覺方案,同時保持較高的可控性。
![]()
從一張手繪草稿,能很快看到角色主視覺,甚至是完成度很高的角色動態視頻,團隊的反饋是,這種引入 AI 的工作流顯著提高了效率,特別是在尋找風格方向和角色設計靈感時。
用粒子系統構建戰斗特效
戰斗表現方面,《幻面之旅》幾乎全部技能特效都基于 Unity 內置粒子系統實現,包括戰斗中和特寫鏡頭中的3D粒子。
![]()
對于一個需要大量技能表現的 Roguelike 游戲來說,Unity 粒子系統能夠在保證效率的同時提供足夠豐富的視覺變化。團隊也關注到團結引擎全新的 Infinity 粒子系統,該系統基于 ECS 架構設計,可以支持十萬級粒子的高性能渲染,并兼容原有粒子系統。這為項目未來的視覺升級提供了新的可能性。
仍在探索中的技術方向
隨著項目逐漸完善,團隊也在嘗試一些新的技術方向,其中之一是將 2D 角色與 3D 武器結合。目前的游戲整體類似 2.5D ,即 3D 建模場景搭配 2D 角色。通過引入 3D 武器模型,可以讓戰斗表現更加立體,但同時也帶來了動畫匹配、渲染層級以及視覺一致性等問題。目前團隊正在持續探索實現這一效果的技術難點,期待為最終作品帶來新奇的視覺與游玩體驗。
另一個實驗性的想法是角色特寫鏡頭交互設計。團隊希望在策略類戰斗中加入更具表現力的瞬間,例如在關鍵技能釋放時觸發短暫的特寫互動鏡頭,以增強玩家與養成角色之間的情感連接,同時也為玩家社區的提供二創素材。目前這種設計還在探索中。
*戰斗場景內特寫鏡頭
小結
對于像《幻面之旅》這樣以高密度戰斗為核心體驗的游戲來說,性能優化不應該只是后期工作,而需要在項目早期就從技術架構、美術工作流等方面全方位納入規劃。團結引擎的 SRP Batcher 的合批優化、 Profiler 持續性能分析、廣泛的平臺兼容性以及面向數據的高性能粒子系統,為更大規模的戰斗場景、更輕量高效的美術工作流打下了基礎。
對于考慮從 Unity 轉向團結引擎的開發團隊,《幻面之旅》的開發者給出的建議相對簡單:放心大膽用,因為遷移成本比想象中低。由于 API 與開發流程保持高度一致,大部分項目都可以絲滑遷移,同時也不要忘記做好項目備份和立項后及時申請授權認證。
隨著項目繼續推進,這些技術實踐也將不斷迭代,并為類似類型的策略或 Roguelike 游戲提供一些可參考的開發經驗。
Unity 官方微信
第一時間了解Unity引擎動向,學習進階開發技能
每一個“點贊”、“在看”,都是我們前進的動力
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.