游戏开发中的ECS架构实用性如何?

2021-04-30  本文已影响0人  游戏程序猿

其实ECS并不是什么新的东西,它的思想早在程序刚开始的时候就有了,学过C语言的同学都知道

C语言写代码基于 函数逻辑+结构体数据,来完成对应的功能。函数逻辑,可以看作就是System。

结构体可以看作是(Entity + ComponentData)。

这里有个unity学习交流小组点击可以直接加入 一起学习交流吧

  游戏开发,比如MMORPG游戏,Moba游戏,它是非常适合ECS的架构的。为什么这么说呢?

比如,角色的AI思考,游戏中的大量角色(Entity),做AI的时候,其实只需要包含AI的ComponentData,

AI算法(AI的System)基于AI CompoenntData,完成整个角色的AI决策。  比如角色的寻路和导航,也很适合ECS,

把寻路导航的所需数据做成寻路导航的ComponentData, 每次有导航请求的时候,导航System迭代每一个角色(玩家+NPC)的

导航ComponentData, 来计算, 驱动角色的导航。

ECS的优点就是将数据更扁平化的管理,来代替,庞大而臃肿的继承体系。获得高性能的同时,代码维护扩展也方便,

实体包含【功能1ComponentData, 功能2ComponentData】, .这样我们给大量觉得扩展的时候,只要做好ComponentData+System的

算法与设计,实体包含这个ComponentData,进入迭代,就能添加功能。管理实现了扁平化。

很多程序员的基础并不好,特别是设计思想,不是所有人都能驾驭,如果你的团队驾驭不了,对你的团队而言

就不实用,不适合,能够驾驭,可以尝试。

  总之适合自己的就是好的,就像武大郎娶了潘金莲,最后招来杀生之祸。

上一篇 下一篇

猜你喜欢

热点阅读