GameDesign 板


LINE

一直以來都有個疑問 雖然物件導向教學都說繼承與多型是OOP的特色 不過在遊戲設計時常常需要製作很多同一個架構但不同功能的類別 比如說技能,部隊這一類 我是應該遵照OOP的特色,為每一種技能實作一個類別呢? 還是應該寫在同一個類別裡,透過控制屬性去產生不同效果呢? 又或是有其他更好的方法呢? 我目前是採用多類型的作法,但是類型一多又總覺得看起來很亂 因為我程式都是自學為主,所以想請問一下通用的作法是哪一種 麻煩各位先進提供一下意見 -- ██ ︵︵︵︵ ◢█◤ ちから /\||| ◢█◤ ひとりでは耐え切れぬ でもきっと、 │‵╯︶︶| ██◤ # ふたりなら大丈夫私は信じる!」 ╲ ) ∕█████ + + ╮ - │█◣ ◥◥█◣ 第四巻 27ページ… ▂▄▆│ │█◤* ◢████◣ 雷神の系譜    ψWix --



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







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP