技能系统设计笔记 1
记录时间:2009年11月23日
该笔记记录《侠客行》项目的技能系统设计思路和重构过程。主要目的是记录技能系统的设计过程和修改过程,并作为后期功能扩展的参考和指导。
技能系统预计从开始设计到最终版本会经历3个阶段
- 初期设计和实现阶段
包括前期整理需求,设计实现原型和完成大部分功能开发。这个阶段的主要目的是尽可能全的收集并实现技能系统的需求,验证设计思路。发布稳定游戏版本,经历PVE,PVP的测试。通过这个阶段,可以基本完成对技能设计的技术验证和功能验证,整理清楚战斗流程,技能逻辑和美术资源的整合流程,并且可以作为后期重构和优化的一个明确目。
这个阶段使用CSV+Lua脚步完成。以达到快速实现,快速修改的目的。性能不作为主要考虑目标,但要解决除去Lua本身执行效率外其他影响系统性能的设计问题。
到记录时间为止,该阶段已经完成。目前实现了1-60级的3种武器技能和3种职业技能,以及部分基础技能,通用技能和爆发技能。并经历了PVE和PVP的小规模测试。技能系统的逻辑和与周边系统的流程已经整理完成,与美术资源的整合在特效方面还存在一些流程性问题。
- 功能整理和重构阶段
这个阶段的主要目标是全面整理技能系统的功能需求和设计需求,统一设计框架,清理掉一些前期不明确和无用的需求与设计。简化设计和实现方式。明确逻辑,数值,美术资源的整合流程。排除掉设计中安全性,稳定性的隐患。通过这个阶段,可以大量简化设计中的复杂流程和逻辑,提高稳定性,安全性,并在确定的需求框架下提升灵活性和扩展性。
这个阶段使用CSV + Lua脚步完成,但相比上个阶段,CSV的占用比例提升,Lua脚本的占用比例降低。性能依然不作为主要考虑目标,但稳定性,安全性和逻辑正确性重点考虑。
- 实现优化和转移阶段
主要目标是在不改变设计框架和制作流程的前提下提升系统效率。该阶段不负责对设计进行结构上的大量修改,并不对制作流程产生负面影响。在经历了前两个阶段后,需求和设计都已经固定,可以进行从Lua->C++的转化过程。在这个阶段中,主要通过CSV+元数据的方式将技能系统的实现方式进行转移,技能系统全面废除掉Lua脚本,但同时保留使用Lua脚本可达到的灵活性和扩展性。性能在此阶段作为主要考虑目标。