技能系统设计笔记 6
记录时间:2009年12月14日
一种新的技能系统设计
这次设计的主要目的是解决掉第一版设计的各种已有问题和可预期的潜在问题,并保证技能制作的主要流程,不对当前已经完成的技能功能做出太大的调整。
我们先将需要达到的目标列一下:
- 统一远程技能和近程技能的设计,简化子弹和技能执行之间的逻辑关系和制作流程
- 技能的逻辑计算应该完全以服务器为准,在保证逻辑和表现的一致性前提下,尽可能避免网络延时带来的体验误差
- 技能的一次事件,结果应该是唯一的,参与事件的双方应该处理这个唯一结果,并在处理过程中相互不依赖
- 技能的逻辑制作流程与美术制作流程应该尽可能独立
- 新的设计应该着重于解决和优化上述问题,但不能对目前制作流程和已有资源造成太多修改
我们再来列举一下前期设计和实现的问题
- 子弹的设计过于独立,丧失了近程/远程技能的设计一致性
- 技能的逻辑计算分散,缺少统一计算终端,有很多潜在问题
- 技能事件的处理不统一,无法维护事件结果的唯一性
- 目前的技能系统资源量涉及得比较多,有CSV,脚本,代码,同时美术制作流程与逻辑制作流程没有完全独立
我们需要一种新的框架,能够在尽可能利用目前流程和资源的前提下优化和解决种种设计问题。
目前我想到了一种与前期设计的冲突不太尖锐的新框架,如果采用这种设计可以解决掉上面的大多数问题,提供更好的设计一致性和制作流程独立性。这种新框架还处于初步设计阶段,有很多细节没有完全考虑清楚,后续笔记会着重于阐述这种设计,细化思路,并与需达成目标进行对比。