3 ms·
Entity component system. https://en.wikipedia.org/wiki/Entity_component_system https://en.wikipedia.org/wiki/Entity_component_system
by AndrewDavis 3y ago
Entity component system.
https://en.wikipedia.org/wiki/Entity_component_system https://en.wikipedia.org/wiki/Entity_component_system
- lolinder 3y agoSlightly off topic, but does anyone know what the status is of Unity's patent on ECS? I remember this thread [0] from a few years ago, and it looks like the patent is still valid [1], but I still see ECS all over the place outside of Unity contexts. Is Unity just not interested in enforcing the patent? Do they know they'd lose if they tried? Or am I missing a recent development? [0] https://news.ycombinator.com/item?id=28447672 https://news.ycombinator.com/item?id=28447672 [1] https://patents.google.com/patent/US10599560B2/en https://patents.google.com/patent/US10599560B2/en
- Laremere 3y agoThe patent abstract indicates it's not a patent on ECS, but a patent on methods to improve performance with ECS systems. The patent was filed in 2018, which is far after ECS was already in commercial use.
- smolder 3y agoAs sibling points out, it's about a specific way of optimizing an ECS style program. That's typical corporate software patent stuff - building a moat with patents that aren't inventive. It's like firing a shotgun into the solution space to create off-limits areas and impede newcomers.
- SeanAnderson 3y agoHere's cart's analysis: https://i.imgur.com/Kmokcmq.png https://i.imgur.com/Kmokcmq.png Cart is the creator of Bevy (ECS engine in Rust) and Sander is the creator of Flecs (ECS engine in C) Assume they lose if they try to enforce it, but don't know of any attempts yet.
- mananaysiempre 3y agoSo, uh, am I reading that right? One part is “use array of structs for ECS” and the other is “use struct of arrays for ECS”? Really?
- meheleventyone 3y agoYeah the optimization is similar to the realization that array-of-structs can be the faster memory layout if you use all/most of the members of the struct. So you organize memory by archetype rather than keeping the components separately.
- deleted 3y ago[deleted]