遊戲開發過程中,技能與技能之間的關係如何設計比較好?

時間 2021-05-06 11:31:38

1樓:meta

有互斥、替換、疊加、共存,4種關係

buffID

tag列表

互斥ID列表

替換tag

是否可以替換

優先順序(填數值,可以替換時,優先順序數值高的替換優先順序低的)最大疊加數(填1代表不可疊加,大於1時表示最大疊加數)要給host加上buffset B,

foreach A in host.buffsets先判斷互斥,如果A.id in B.互斥ID列表,丟棄B。

然後判斷疊加,如果A.id == B.id 且A.最大疊加數》1 ,則生效時間重置到最新,如果疊加數沒滿,則++。

然後判斷替換,如果替換tag存在,如果 A.tag列表包含B.替換tag,且A.可替換=true, 且 A.優先順序 < B.優先順序,B替換A。

如果都不成立,則共存。host.buffsets.add(B)以上可知,這四種關係與等級無關

2樓:心在指引方向

技能可以抽象為timeline 上的事件集合。附加buff 則是其中的一種事件。buff抽象出排斥列表,剔除列表。

題主講的其實是buff 。

3樓:Jay Zhuang

比如有A、B、C、D四種不同功能的技能

當角色身上有A的時候

新增B,可以中斷A狀態表增加字段「互斥狀態」,string,填入狀態id

新增C,被A免疫,C新增不上狀態表增加字段「排斥狀態」,string,填入狀態id

新增D,與A發生抵消,既A中斷,D也加不上狀態表增加字段「抵消狀態」,string,填入狀態id

新增新的A1,可能替換A,也可能與A疊加狀態表增加字段「疊加規則」,bool,填入疊加或替換,配合「疊加層數」即可。

4樓:

其實就是乙個簡單的buff共存機制。

B能覆蓋A,C不能覆蓋B,D覆蓋C後會被清空(可以看作D被空buff覆蓋)

這個需求可以從設計層面簡化,某一系列的buff無法共存,然後他們之間的覆蓋規則你就自己設計好了。

當然,如果問題是這種機制怎麼填充內容好玩,可能就需要提供更多的資訊了。

5樓:王楠

首先,技能(聽描述更像是buff)有必要搞這麼複雜嗎,設計乙個屬性可以清除所有buff,乙個屬性可以清除所有debuff,不夠用嗎?而且之前做這種設計的遊戲差不多都是10年前的了,現在rpg整體上設計都更趨向簡單化,單個技能功能一目了然,通過簡單機制的多種組合給玩家想象空間才是正道,強制玩家記憶某兩個技能的關係很不可取。

然後如果你非要做不可,先定義出兩個技能屬性:中斷性和免疫性。各分為5等(舉例),乙個技能的中斷性高於目標身上已有技能的免疫性,就可以打斷或替代,低於就被免疫,相同就互相抵消。

如果乙個技能自己的中斷性大於免疫性,就可以重新整理自己,否則就重疊無效。

然後把這兩個屬性配給所有技能就可以了。最後還是不推薦這種為技能新增新一層需要玩家去記憶數值的設計方向。

遊戲開發過程中有沒有美術外包管理的工具?

不要一次外包出去那麼多!我在公司順便幫著管理外包。每天做東西要被打斷無數次。不知道你們那遊戲進度怎麼樣了。要是前期的話完全可以拿替代資源來先開發,等開發的差不多了,真靠譜的話,很多美術會願意加入的。就算開發不順利前期省下來的外包款也可以多撐一段時間。而且我見過太多專案中途因為各種原因換美術風格,錢就...

科研過程中,有哪些讓你羨慕的技能

國際科學編輯 在科研領域,個人覺得目前的技能大多數都是對工具簡單的利用,但是乙個人真正的創造力還是和以下三點有關,1是天賦,2是審美,3是不斷的努力學習。而第三條最重要,所以我特別羨慕那些心無雜念,在自己的研究領域快樂的享受的人。 讀博的時候讓我羨慕的是乙個師兄的高效率和執行力 這個師兄的作息是白天...

在APP的開發過程中,作為設計師,如何說服程式去實現動效?

Reiki 說服他,我為什麼需要實現這個動效,這個效果可以給產品互動層面或是使用者帶來什麼。最好是可以製作出demo。讓他感受一下有動效和沒有動效對產品使用者體驗上極大的差異化。去拖動RD的開發。 哈哈,前一段時間剛剛實現了讓團隊裡的部分前端從牴觸動態特態到主動要求新增動態特效的過程。你說是不是很有...