[程式] (更新)請教 RPG 的基礎問題

看板GameDesign (遊戲設計)作者 (#3371)時間9年前 (2016/03/25 23:11), 9年前編輯推噓9(905)
留言14則, 5人參與, 最新討論串1/1
目前在試著Unity+C#做一個2D RPG, 系統原型參照Elona,精神參照照Mabinogi。 才剛開始而已,想請教各位, 一般都是怎麼寫物品這種大量項目的? Item - Consumable -- Potion -- Throwable - Equipment - Tool 這樣子逐級繼承類別的方式,應該沒什麼問題? 但是如果要逐一為每個物品寫 class 感覺效率不佳…… 我是在想製作一個方法專門讀 物品設定清單 文字檔的方法(只供開發使用)去讀跟pars e字串來將所有物品編入一個放在ItemManager這個class裡的List<Item>,然後將ItemMan ager序列化存為二進位檔,每次啟動遊戲載入這個檔案,這樣的做法OK嗎? 另外,如果能分享一些 RPG 的經驗談或相關建議就更好了,感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.8.2 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1458918717.A.F9B.html ※ 編輯: m9731526 (42.72.8.2), 03/25/2016 23:18:16

03/25 23:32, , 1F
雖然看不太懂 但我自己的方式是用裝飾模式生成物品實例
03/25 23:32, 1F
查了一下裝飾模式,學到東西了,謝謝 舉例來說 我編一個items.txt 內容是一行一個 物品名稱/耐久/品質 在程式內做一個方法來讀 items.txt 為每個物品生成物件後存成二進位檔案(實際的物 品資料庫) 相當於一個迷你開發工具?這樣子我就可以快速地用文字檔編寫總數龐大的所有物品 不太清楚怎麼表達 呃我的問題其實是大家一般都怎麼做比較好? 當然有其他設計模式、資料結構等能教我也非常感謝 ※ 編輯: m9731526 (42.72.8.2), 03/26/2016 00:16:20

03/26 00:12, , 2F
試試版上有大大分享過的組件式架構
03/26 00:12, 2F

03/26 00:12, , 3F
版上keyword:組件式
03/26 00:12, 3F
感謝,了解中 ※ 編輯: m9731526 (42.72.8.2), 03/26/2016 00:17:59

03/26 01:48, , 4F
那我感覺你也可以把物品生成UNITY的腳本物件
03/26 01:48, 4F

03/26 01:48, , 5F
這樣好管理、直觀、而且可以直接對其他組件序列化
03/26 01:48, 5F
生成Unity的腳本物件? 是指每個物品一個script嗎? 不太懂

03/26 01:48, , 6F
推組件式。道具功能method種類做好,用script設定道具屬
03/26 01:48, 6F

03/26 01:49, , 7F
當然缺點就是當你要大改物品系統時會很辛苦
03/26 01:49, 7F

03/26 01:49, , 8F
性會比較管理。純文字到後面動態實測的時候有夠不方便
03/26 01:49, 8F

03/26 01:50, , 9F
阿 剛好一起推文 不好意思
03/26 01:50, 9F
※本來不方便看影片 現在看過影片大概了解了 先試試看組件式 ※ 編輯: m9731526 (42.73.133.232), 03/26/2016 09:48:50 ※ 編輯: m9731526 (42.73.133.232), 03/26/2016 09:50:10

03/26 10:17, , 10F
關於我說的你可以查一下 scriptableobject 看看
03/26 10:17, 10F

03/26 10:55, , 11F
能用JSON之類的腳本,存物品資訊與行為函數名稱
03/26 10:55, 11F
※ 編輯: m9731526 (114.136.4.228), 03/26/2016 11:49:58

03/26 13:42, , 12F
ScriptableObject比較快,在editor裡面也比較容易修改
03/26 13:42, 12F

03/26 18:41, , 13F
Unity就是寫好的組件式架構了
03/26 18:41, 13F

03/26 21:31, , 14F
ScriptableObject真的是個坑,一玩就停不下來了 XDD
03/26 21:31, 14F
我現在大概的做法是 一個Entity:Monobehavuour來嵌在畫面上的實體上(所有地圖上的物件) 再在這個Entity內建一個List<Components>來管理我自己寫的物品系統、生命值、Buff、 技能之類的組件 請問各位覺得這樣子,會有什麼問題嗎? ※ 編輯: m9731526 (42.73.123.9), 03/27/2016 13:52:44 ※ 編輯: m9731526 (42.73.123.9), 03/27/2016 13:54:31
文章代碼(AID): #1MzLKz-R (GameDesign)
文章代碼(AID): #1MzLKz-R (GameDesign)