原文链接: ecs 游戏设计 架构
上一篇: 光追 [todo]
下一篇: pegjs 几个例子
优化数据组织方式, 提高缓存命中率, 在节点数目多的情况下效果会好很多, 基本思想是分离数据和操作, 这样做存档和撤销就很方便了, 用组合而不是继承主要也是为了修改简单, 因为继承要是想改, 那影响的就很多了, 但是组合的影响比较小
https://wickedengine.net/2019/09/29/entity-component-system/
https://zhuanlan.zhihu.com/p/270927422
https://zhuanlan.zhihu.com/p/78155704
https://zhuanlan.zhihu.com/p/106946506
https://zhuanlan.zhihu.com/p/79926811
https://juejin.cn/post/6890722233771032590
Entity由多个Component组成,Component由数据组成,System由逻辑组成。
这个比喻有点意思
比如现在有 一群狗和一群猪,我们要让它们的尾巴摇起来:
- 面向过程: 1、摇(所有狗的尾巴) 2、摇(所有猪的尾巴)
- 面向对象: 1、所有狗.(摇尾巴) 2、所有猪.(摇尾巴)
- 面向数据: 1、收集所有的尾巴 2、摇(尾巴)