Re: [程式] Unity prefab - Clashroyal

作者: Feis (永遠睡不著 @@)   2016-12-17 14:04:24
你好, 動態新增角色我個人覺得是蠻困難的.
CR 的情況我不是很清楚, 但是直覺猜測其角色的新增應該還是透過客戶端更新達到.
伺服器更新所做的應該只是數值的修正而已.
會這麼想的主要原因是在於 "新的角色" 充滿了設計上的不確定性.
能從伺服器端直接新增角色的主要前提是該角色可以用舊有角色的功能去拼湊.
或至少在設計時已經提供好足夠的基本模組去做這件事情.
但是 "新的角色" 意味著他就是 "新" 的. 不小心就會生出原本不預期的規格.
最後就變成其實我們是在設計一個可以符合各種需求的 "程式語言".
或者我們其實不是在做新角色, 只是做某種 "數值" 上的調整跟換皮.
所以應該還是要先設定好需求的範疇. 我們真的是要新增新的角色嗎?
新的角色與舊有角色能夠允許的差異性有多大? 彈性的限度在哪裡?
這其實非常考驗企劃的能力甚至是對於自己產品是否有深度的認知,
因為基本上這就是在預測未來.
在不需要的地方提供了過多的彈性就是在浪費工程師時間與增加維運成本.
我的建議是先從純粹的 "數值" 下手,
了解是否可以由數個 "簡易" 基本範本構成所有設計需求.
當你發現基本範本無法或很難窮舉出你所有的企劃想像時.
就是不停做拆解到適度的模組大小,
透過模組的拼湊與流程的控管看是否能達到需求.
能做到的話基本上就是用 "資料驅動邏輯" 的設計方式.
至於 if 或 enum 的使用量應該純粹是物件導向設計上的能力需要加強.
但是過度模組化可能會造成維護上的成本. 例如 migration 的困難.
此外, 使用這樣的方式就需要在執行期動態拼組出物件.
會需要 deserialize 資料並做一定量的分析, 可能會有蠻大量的額外成本.
建議還是先弄清楚自己想要做到的程度.
※ 引述《santaclub (聖誕青年)》之銘言:
: 首先我知道clash royal 不是Unity做的
: 我只是以這個為例想問點問題
: 現在我想做一個類似這個遊戲
: 但我現在很糾結是..每一種角色應該有一個prefab嗎?
: 好處是很容易調整所有的東西, 但也就表示了無法從Sever端的資料直接增加新角色
: 還是應該用程式讓他自動做出來, 無數個if, enum這樣...
: 但這樣很多變化會讓code好難讀...
: 折衷一下
: 又或者是說..每種類型給一個prefab, 比方說地面單體進戰, 地面單體遠程..etc
: 有請高人指點...感恩

Links booklink

Contact Us: admin [ a t ] ucptt.com