>filters youPeople hate ECS because they're incapable of wrapping their head around it.It's a great IQ filter that sets apart the Microsoft Technician(tm) from the programming masters.
okay
>>108199751not okay.
the entitny component split is mostly useless boilerplate
>>108199719>nobody can understand or properly implement this abstraction that was supposed to be easy to understand and implement>therefore it's goodinteresting
>>108202581>comps>boilerplateyeah im thinkin its nodev hours
>>108199719for me, it's giga structs and functions
>Entity component system Is an over complex way to solve a problem created by compiler developers who can't optimise OOP style inheritance. >But muh edgy internet personality told me OOP was bad Yeah, but then they use tagged union arrays to do the say thing OOP is doing. When you pass your entity to a function it will usually use a type enum to figure out what data the entity is supposed to be representing and then call the function that correlates with that type. Which can be achieved more easily simply by creating an abstract entity class and having everything inherit from it, but most pro game devs don't do it because they are trying to avoid virtual function pointers and wasting memory because their objects aren't space efficient, but both of these problems are products of bad compiler design rather than anything implicitly good about ECS.
>>108203087>Is an over complex way to solve a problem created by compiler developers >he thinks ecs is just about optimising CPU cacheoh my fauci, dunning kruger at its finest.
>>108203087>optimise OOP style inheritance.Nice try uncle bob
>>108202726Or you just want to feel smarter by glorifying something totally unnecessary.People have been doing monolithic entities (that hold all the things even if not used by that particular entity) for decades. On medium sized projects it works fine.As long as your base entity doesn't get too big, the performance won't degrade. Fuck even RTS games don't have that many units on map. Most games just don't need to optimize for memory locality that much.
>>108199719>needing to rename SoA layout>only for entities when it should apply to every instruction parralelizable data in the engine(world geometry, collision data animation data etc...)>rust>not using cache friendlier SoAoS when the architecture is memory bandwidth bottlenecked(a.k.a. always whenever the dataset size exceeds the cache size, doubly so on non-X3D CPUs)>not combining SIMD and multithreading>trusting the compiler for autovectorized optimizations when not even llvm can autovectorize a[] -=b[](same length) correctly without quad unrolling sisd vsubss instead of using a single svubps with xmm or ymm reg on AVX CPUIf you're gonna whine about optimization then do it correctly lile threat interactive would you wannabe of a wannabe
>>108203171>>108203229>doesn't know what ECS is>thinks he has something profound to say about ityeah i'm feeling vindicated.
>>108203171>As long as your base entity doesn't get too big, the performance won't degrade.Performance isn't the only reason people like ECS. ECS provides an infrastructure that enforces no or minimal coupling and thinking in atomized actions instead of high-level actions.
>>108199719what's hard about it? it's piss easy.I'm not a gayme programmer so I don't need it and even most gayme programmers don't need it.
>>108203668That's what systems isolation do, not what components decoupled from base entity does.Components decoupled from base entity class are mostly just for memory compression, and that mostly has very little impact. If you only save few tens MB by having sparse out-of-base components instead of having all components in base class then there isn't that much benefit to it.I wouldn't go for ECS framework and moving things out of monolithic base until I would see a significant benefit for that particular project. Otherwise it's just useless pollution to set simple things up.