推 littleshan: 如果用不同的property就能達到效果,那一個類別就夠了 10/24 10:02
→ littleshan: 但如果程式碼中充滿switch case判斷式,就應該用多型 10/24 10:05
→ littleshan: 如果你不知道規則,就思考一下增加新技能時需要做什麼 10/24 10:07
→ littleshan: 好的設計是你只需要添加程式碼,不用修改既有程式碼 10/24 10:08
→ littleshan: 亦即所謂 open-close 的原則 10/24 10:08
→ wix3000: open-close嗎... 嗯嗯,我會多留意 謝謝 10/24 10:25
推 cowbaying: 同樓上 用文檔設定的方式來設計技能是比較經濟的方式 10/24 10:53
→ cowbaying: 但切記資料要加密阿... 10/24 10:54
推 ddavid: 也可以參考版上Component-Based的那篇 10/24 10:55
推 cjcat2266: 當下流行的架構是組件式,之後會不會有新的流行不一定 10/24 13:26
→ cjcat2266: 也有人繼承式和組件式混和用,像我們公司就是這樣 10/24 13:27
→ cjcat2266: 最基本的幾種物件架構是以繼承方式組成,專精的細功能 10/24 13:28
→ cjcat2266: 則是用組件的方式組合起來 10/24 13:28
推 holymars: Interface和Component混搭還蠻常見的 10/24 15:02
推 holymars: 概念上是:先定義好你這堆需要多型的物件會有怎樣的操作 10/24 15:04
→ holymars: 介面,但實作上用delegation的方式轉交給Component 10/24 15:07
→ holymars: 這樣你的物件就能輕巧靈活組合(component-based的優點) 10/24 15:09
→ holymars: 但又能有共通的操作介面和型別(多型的優勢) 10/24 15:09
→ enthos: 通用的作法: 支援LUA script,方便做MOD. 10/24 15:56
→ wix3000: 介面我還不太會用呢XD 不是很理解介面該用在什麼情況 10/24 17:58
→ KanoLoa: 地方板上需要更多的組件式OOP資源 10/24 19:47
→ KanoLoa: ←在unity寫子彈常常會覺得我到底是要組件還是多型... 10/24 19:49
→ wix3000: 組件導向似乎很適合遊戲 但是組件要寫得夠抽象好像很難.. 10/24 20:01
推 cjcat2266: 其實就是一個 obj.AddComponent(component) 介面 10/25 03:50
→ cjcat2266: 剩下自由發揮 10/25 03:50
推 cjcat2266: 還有,不要陷入"要寫一個超完美引擎"的圈套裡 10/25 03:52
→ cjcat2266: 把遊戲做出來比較重要,反覆產出遊戲之後,自然就會對 10/25 03:53
→ cjcat2266: 遊戲引擎架構有比較好的概念 10/25 03:54
→ cjcat2266: 人家Unreal也是副產品,他們不是一開始就以開發商業 10/25 03:54
→ cjcat2266: 引擎為目的,而是不斷產出遊戲之後,一個可以拿來賣的 10/25 03:55
→ cjcat2266: 引擎才慢慢成形 10/25 03:55
→ cjcat2266: 老話一句 "Make games, not game engines." 10/25 03:55
推 LayerZ: 引擎是以前寫遊戲的副產物,除非是要賣引擎才要寫到完美 10/26 18:23
推 FukadaKyoko: 靠要 這篇推文都是神 10/26 19:04
推 LayerZ: 之前也有遇過同樣的困擾,後來發現會困擾的原因是,不論是 10/26 19:06
→ LayerZ: 類別還是參數控制都是對的,對底層運作而言不需要類別只 10/26 19:06
→ LayerZ: 需要參數,對設計者自己控制而言把參數類別化控制就不用 10/26 19:07
→ LayerZ: 煩惱細節,結論:混用就好.. 10/26 19:07
推 chrisjeremy: 我的作法跟火星大一樣 這麼做比較好用而且清楚 10/27 23:59
→ chrisjeremy: 傷害計算跟演出最好分開一點 不要寫在一起 10/28 00:01
推 eulbos: 大推cjcat2266大大說的!! 豁然開朗 10/28 15:36