DEV LOG ENTRY #1 碎碎念聊聊技能容器

10/2611 浏览综合
传统的五子棋,就是把五个子连成一条线,好无趣,好无聊🎵
而技能!就是今天的日志主题!
TapTap
我……也不知道为什么这么开头

急急国王阅读总结:

  • 状态机模式和技能逻辑的实现,和总结
  • 花了多到离谱的大量的时间在动画表现的调试功能上,为一套动画资源写功能,然后为另一套动画资源继续写功能,然后抽象出通用部分继续为下一套动画资源写功能……

正文:

# 技能系统和状态机

状态机是描述系统状态及其转换的重要数学模型,它通过状态(State)、事件(Event)、转换(Transition)和动作(Action)等核心组件,帮助我们清晰地管理对象的生命周期行为。
当系统状态数量增多、逻辑变复杂时,传统的扁平状态机可能变得臃肿难维护。​分层状态机(Hierarchical State Machine, HFSM)​​ 通过引入状态层级结构来解决这一问题。
状态机的特性也正好契合了对游戏中技能容器的管理。这种运作机制确保了技能行为是确定性的。在任一时刻,技能的状态是明确的,能够响应的事件和对应的后续行为也是预先定义好的,这使得技能流程高度可控。
TapTap
技能容器的系统结构
TapTap
执行一个技能的完整流程

# 冲突

刚刚发现一直把时间花在一些对于代码逻辑上的重构上了。
怎么让配置更灵活;
怎么把普通类的属性序列化,统一进行配置和运行时加载;
怎么在运行时改这些序列化属性,让他们直接生效;
怎么把状态机实例化的部分统一管理起来;
……
这个功能好像差不多了,再优化一波GC。
但可能这就是做游戏程序开发的爽点吧!
2
1