chickenpie 發表於 16-10-2011 11:41:36

分離式系統:一個減少 bug 出現的方法

  
好吧,標題寫是寫「減少 bug」,但在我看來,這系統(或者說製劇方法)是節省時間用的。

我不願用抽象的說話來解釋什麼叫「分離式系統」,所以就用例子算了。



例如數字 AI 中,分別有「單資源欄」和「雙資源欄」。
簡單地說明一下兩者分別。語音1 = 1食物
語音2 = 1木
語音3 = 1石
語音4 = 1金

然後再用觸發事件檢測 :

觸發事件 1 循環:是
狀況:累積屬性 電腦玩家(例:玩家2)  木材 ="1"
效果:拖放技能
效果:貢品 電腦玩家(例:玩家2) 給予 大地之母 木材 ="1"
而雙資源欄則是:
語音1 = 255食物, 1木
語音2 = 254食物, 2木
語音3 = 253食物, 3木
語音4 = 252食物, 4木
語音5 = 251食物, 5木
..............................

觸發事件檢測時:
狀況:累積屬性 電腦玩家(例:玩家2)  255食物, 1木
效果:拖放技能
效果:貢品 電腦玩家(例:玩家2) 給予 大地之母 255食物, 1木


單資源欄缺陷很大,只有 4 種的變化(數字),雙資源欄則理論上可輸入無限種數字。
但雙資源欄也有弊病--每次檢測數字的輸入都需要 2 個「累積屬性」!這無疑是增加了製劇者的工作量,最重要的是,由於雙資源欄的複雜性,製劇者很容易就會輸入檢測的資源數錯誤,造成了bug。


解決方法實在太簡單了,
把檢測與觸發效果分離即可。

但是,問題來了--怎樣分離呢?
在這處,我選擇以「單資源欄檢測」作媒介來分離。
(太抽象了,去例子吧)

首先,設置一個完全獨立的檢測系統,
觸發1 [資訊-關起始-開循環-開]
狀況- 2p 累積屬性 255食物
  - 2p 累積屬性 1木
效果- 2p 進貢給大地之母 255食物,1木
  - 3p 進貢給大地之母「-1」食物

觸發2 [資訊-關起始-開循環-開]
狀況- 2p 累積屬性 254食物
  - 2p 累積屬性 2木
效果- 2p 進貢給大地之母 254食物,2木
  - 3p 進貢給大地之母「-1」木

觸發3 [資訊-關起始-開循環-開]
狀況- 2p 累積屬性 253食物
  - 2p 累積屬性 3木
效果- 2p 進貢給大地之母 253食物,3木
  - 3p 進貢給大地之母「-1」石
................如此類推......................上述觸發是什麼意思呢?
其實只是:
語音1 = 2p 255食物 1木 = 3p 1 食物
語音2 = 2p 254食物 2木 = 3p 1 木
語音3 = 2p 253食物 3木 = 3p 1 石
語音4 = 2p 252食物 4木 = 3p 1 金
語音5 = 2p 251食物 5木 = 4p 1 食物

然後,應用於觸發效果時也很簡單:
觸發10 [資訊-關起始-開循環-關]
狀況- 3p 累積屬性 1 食物(語音1)
效果- 3p 進貢給大地之母 1 食物
  - 觸發效果(如技能)

觸發11 [資訊-關起始-開循環-關]
狀況- 3p 累積屬性 1 木(語音2)
效果- 3p 進貢給大地之母 1 木
  - 觸發效果(如技能)

觸發12 [資訊-關起始-開循環-關]
狀況- 3p 累積屬性 1 石(語音3)
效果- 3p 進貢給大地之母 1 石
  - 觸發效果(如技能)
............................................
這方法其實很簡單,為了
1. 減少工作量
2. 防止 bug
而把「檢測雙資源欄」和「觸發效果」分離,中間以「檢測單資源欄」作媒介。


未分離前

檢測雙資源欄 -> 觸發效果

分離後

檢測雙資源欄 -> 檢測單資源欄 -> 觸發效果

看似多了一個工序,
但實際上是減省了工作量,尤其你的劇情需要大量應用數字 AI。

這個道理,不止數字 AI 適用,
最普通的例子就是殺怪數目。

殺怪後 -> A 區放置旗 A
回任時,檢測 A 區旗A 數目 -> 任務獎勵

不是什麼的技巧,純粹是把觸發系統化,
分隔出一個個井然有序的觸發系統,
以幫助製劇效率/減少錯誤。


  

chunhimlai 發表於 17-10-2011 08:03:11

其實用二聯式資源系統
係可以做到可以加減上限的MP系統

chickenpie 發表於 17-10-2011 19:01:35

回復 2# chunhimlai


實際上這個例子只是想更好地說明何謂「分離式系統」,不是什麼的技巧,純粹是把觸發系統化,
分隔出一個個井然有序的觸發系統,
以幫助製劇效率/減少錯誤。

就是這樣而已。
有條理地製劇。

手田水口廿卜 發表於 17-10-2011 20:17:08

冋我一樣的做法...

chickenpie 發表於 17-10-2011 20:42:36

回復 4# 手田水口廿卜


問題是新手未必知曉如何有條理地製劇。
(如果現在還有新手的話……)

chunhimlai 發表於 19-10-2011 13:27:57

單資源系統一樣可以多過條件(用新資源)
即使用一種資源都可做到多種條件(做法類近用難易度做條件)
但系想當麻煩同會令遊戲進度減漫
頁: [1]
查看完整版本: 分離式系統:一個減少 bug 出現的方法