超级赛亚人 发表于 2023-10-11 19:25

ECS架构适合作为主架构还是局部架构?

ECS指游戏开发中的Entity Component System架构。
ECS是否可以代替OOP作为主架构,然后OOP成为局部的可选架构?或者说在开发什么类型的应用时,ECS适合作为主架构?ECS架构是否真的在大部门情况下使代码编写逻辑更加清晰、项目更好维护、CPU缓存更加友好吗?

linuxunion 发表于 2023-10-11 19:25

还好游戏开发不用Java,不然一堆面向对象大师要来拷打你懂不懂编程了

mingren119 发表于 2023-10-11 19:26

学几成就够了,知道把大逻辑流程 数据 分离就够了。过多去纠结纯ECS,结果大几率是更大的灾难

loyowo 发表于 2023-10-11 19:26

底层主架构,上层局部架构

xiaohyy 发表于 2023-10-11 19:27

取决于策划翻脸的速度

joevan 发表于 2023-10-11 19:28

游戏开发的角度,理想情况下,我是希望ECS作为主架构的,因为用ECS一般使用面相数据设计(DOD)的方式来设计程序,设计出来的程序确实更符合处理器的执行“习惯”,但是DOD编程对程序设计不是那么友好,很不符合人类的思维习惯。全局使用DOD会增加程序设计的心智负担,而且对于团队来说很难做技术管理,目前还是OOD的程序设计成本更低。
目前一些游戏项目仅仅是用ECS作为噱头,在游戏里某些无足轻重的地方用了一下,比如做了几条鱼的游动就说游戏应用了ECS;也有比较重度使用ECS来打造核心玩法的游戏,通常就是那些割草游戏,比如最典型的就是《弹壳特工队》。
应用ECS的模块有一个共同特点,就是它们都需要同时计算大批量实体的行为,需要最大程度的挤压CPU计算能力。在那些实体量和计算量都不大的模块,比如UI模块,考虑到开发成本,目前暂时没必要使用ECS。
注意,本回答强调的是“目前”部分模块适合ECS,至于未来会怎样,ECS能不能全面应用,那就要看DOD如何发展。可以把ECS作为一个游戏开发的技术风口研究着,毕竟Unity也在发展DOTS,甚至想要将DOTS作为以后的大世界游戏的技术基础。Unreal好像也有个类似的东西叫Mass。
页: [1]
查看完整版本: ECS架构适合作为主架构还是局部架构?