找回密码
 立即注册
查看: 366|回复: 5

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

[复制链接]
发表于 2023-10-11 19:25 | 显示全部楼层 |阅读模式
ECS指游戏开发中的Entity Component System架构。
ECS是否可以代替OOP作为主架构,然后OOP成为局部的可选架构?或者说在开发什么类型的应用时,ECS适合作为主架构?ECS架构是否真的在大部门情况下使代码编写逻辑更加清晰、项目更好维护、CPU缓存更加友好吗?
发表于 2023-10-11 19:25 | 显示全部楼层
还好游戏开发不用Java,不然一堆面向对象大师要来拷打你懂不懂编程了
发表于 2023-10-11 19:26 | 显示全部楼层
学几成就够了,知道把大逻辑流程 数据 分离就够了。过多去纠结纯ECS,结果大几率是更大的灾难
发表于 2023-10-11 19:26 | 显示全部楼层
底层主架构,上层局部架构
发表于 2023-10-11 19:27 | 显示全部楼层
取决于策划翻脸的速度
发表于 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。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 12:26 , Processed in 0.104117 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表