任務系統


任務系統需要事件系統,先有事件才有任務。事件系統可以看成是一個超大型狀態機

玩家存檔資料,由
1. 一堆 bit flags (標籤
2. 一堆 counter (計數籤
組成,這些標記都有 index,之後會再提到 index,這些東西相當於變數。

編輯事件資料,基本上有三個部分
1. triggers,觸發器,例如是由某種地塊去觸發
2. conditions,檢查計數、有沒有某個標籤、triggers 的 ID 之類的
3. actions ,滿足條件後要做什麼事,例如執行兩個 effect,把某個標籤變 1,把某個計數籤遞增 1
這些資料可以只用 excel 表完成編輯,要怎麼串檔給程式用,程式可以自己決定,例如串成 JSON。

有事件系統的話,actions 還可以執行其他效果 (effect)。事件系統本身只驅動事件邏輯資料,不會真正做各個行為,具體執行內容是其他系統負責執行的,例如生成 NPC、給道具、補血、加錢等等。

前面提到的 index,可以想像成是變數,相當於變數 ID。

留言