當前位置: 華文問答 > 遊戲

如何設計一個易擴充套件的遊戲技能系統?

2015-06-17遊戲

在公司的ARPG專案中曾復刻過崩三,戰雙,原神的角色機制,也曾經做過類似崩鐵的戰鬥機制,在專案之後想做個總結,和大家一起探討一下。

在同類遊戲中,一個技能的戰鬥機制大體上都是由什麽條件觸發,從而給自身或者觸發目標附加了什麽效果,一個技能往往設定上存在多個這樣的觸發機制。在這樣的設計下,我們需要分解每一個觸發情況,和每一種效果實際上幹了什麽事情,按照當前專案業務邏輯的執行順序進行呼叫,就能實作設定的機制效果了。

這樣我們可以把戰鬥機制大體上拆分為觸發器(因為什麽條件觸發) + 效果器(具體幹了什麽事),這樣就類似於微服務架構,每個環節只用負責自身業務,透過數據關聯來實作聯動,這樣程式碼邏輯能夠透過配置(數據表或者行為樹)就能實作完整的戰鬥機制業務鏈條,單次功能開發就可以用在各種機制裏,極大減少了程式碼冗余和維護成本。

觸發器可以呼叫效果器裏的任何效果,效果器之間也可以互相呼叫,比如觸發了一個被動效果,要發射一個子彈飛向觸發目標,命中後給目標附加一個狀態。這樣每個業務環節都可以自由的排列組合