最近查閱郵件發現了崩鐵的新角色火花有點意思,於是便再次開啟了崩鐵的旅途(對,就是火花,因為我發現我寫完這篇文章後忘了發布,雖然一如既往玩了幾天就解除安裝了)
但是可能是時隔已久,這次的遊玩明顯有了不一樣的感覺,我感覺自己在玩的時候並不是一名玩家,而像是在試著理解設計架構
整體架構
整體來看,崩鐵的底層邏輯似乎踐行了「高內聚、低耦合」的設計原則
遊戲的每個世界、每個主城,甚至每個大版本,都被劃分成了獨立的小塊,這樣的設計實現了遊戲的並行開發
不同的團隊可以帶著不同的想法同時開工,誰的完成度高、誰的模組先做好,主線就向誰銜接。主程式只需要提供一個統一的執行環境,剩下的就是把這些「積木」拼裝起來
角色設計
在劇情和角色調度上,這裡貌似採用了兩種截然不同的策略:
- 主線角色(貫穿者): 他們就像是系統中的核心單例,由專門的主線團隊負責,以保證底層設定的完整性和邏輯自洽
- 支線/卡池角色(獨立模組): 多數角色其實只承載一段獨立的劇情,相當於實作了某個標準介面。開發完畢後,想辦法將介面對接到主線即可
- 角色呼叫方面: 因為支線角色不需要像主線角色那樣時刻保持狀態的一致性,所以系統在後續劇情中再次呼叫他們時,往往會提取他們設定的幾個「核心標籤(刻板印象)」來編寫劇情即可
玩法設計
從玩法維度來看,這種「中台化」的框架感更加明顯
諸如「模擬宇宙」、「虛構敘事」等核心玩法,以及每個版本的大型活動,在底層邏輯、甚至貨幣系統上都是完全獨立於主線之外的。 這就相當於把整個遊戲本體當成一個大型的 Spring Cloud 註冊中心
各個研發團隊自由發揮,將一個個玩法打包成獨立的「微服務 (Microservices)」,測試完成後直接嵌入遊戲框架。這種設計不僅隔離了 Bug(模擬宇宙出問題不會影響主線進程),更保證了遊戲能夠實現固定週期更新。因為時間到要更新時,只需拉取開發分支上完成度最高的那項服務進行整合即可
權衡與反思
當然,萬物皆有代價。這種極致解耦的微服務架構,缺點也顯而易見
作為玩家,最直觀的感受就是「格格不入」或者「空降感」。當一個高度獨立的活動模組或角色被強行嵌入主線世界時,由於缺乏深度的上下文耦合,難免會產生割裂感
但在數百上千人的重工業遊戲團隊合作下,這種妥協或許是無法避免的。為了對抗「技術債」,架構師只能選擇針對介面程式設計——定義一個最高標準的共同協定,然後讓所有團隊去無情地執行
也許,這就是現代工業化內容生產的終極形態:用極致的理性框架,去承載感性的數位夢境