原文鏈接: 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、搖(尾巴)