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