Live data from Hacker News

Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

captain-of-coit.github.io

21–30 of 50 posts

Re: Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

#21
post #20

As a game dev, I'm starting to feel like ECS isn't the right paradigm. Seeing this 700 nodes graph with all the dependencies screams technical debt and domino effect (changing one small system would impact a lot of other ones). Not sure if there's anything better right now, but seeing everyone copy what Unity did feels like there isn't a ton of innovation in how to build gameplay systems. Lots of engines are being ma…

I agree, surely some sparse, distributed representation (that also factors in level of detail) is what will be needed for simulations with truely mind boggling numbers of agents. You’re hitting into a hard physics problem that’s also hitting against the limits of our current models.

Re: Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

#22
post #9

Earlier quoted context omitted.

Slightly 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?…

Here's cart's analysis: 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.

So, 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?

Re: Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

#23
post #20

As a game dev, I'm starting to feel like ECS isn't the right paradigm. Seeing this 700 nodes graph with all the dependencies screams technical debt and domino effect (changing one small system would impact a lot of other ones). Not sure if there's anything better right now, but seeing everyone copy what Unity did feels like there isn't a ton of innovation in how to build gameplay systems. Lots of engines are being ma…

> (changing one small system would impact a lot of other ones)

Would you not expect that in a sim game though? I mean, why would you have a nice tree when everything interacts with almost everything?

Re: Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

#26
post #20

As a game dev, I'm starting to feel like ECS isn't the right paradigm. Seeing this 700 nodes graph with all the dependencies screams technical debt and domino effect (changing one small system would impact a lot of other ones). Not sure if there's anything better right now, but seeing everyone copy what Unity did feels like there isn't a ton of innovation in how to build gameplay systems. Lots of engines are being ma…

> (changing one small system would impact a lot of other ones) Would you not expect that in a sim game though? I mean, why would you have a nice tree when everything interacts with almost everything?

Of course, but their use of the ECS seems excessive. I'd have expected a few big systems for each area of the game, clicking on Game.Simulation.AdjustElectricityConsumptionSystem for example reveals quite a lot of things that could be within one system. I bet the current design passes and queries data all over the place, very redundantly.

Re: Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

#28
post #26

Earlier quoted context omitted.

> (changing one small system would impact a lot of other ones) Would you not expect that in a sim game though? I mean, why would you have a nice tree when everything interacts with almost everything?

Of course, but their use of the ECS seems excessive. I'd have expected a few big systems for each area of the game, clicking on Game.Simulation.AdjustElectricityConsumptionSystem for example reveals quite a lot of things that could be within one system. I bet the current design passes and queries data all over the place, very redundantly.

One of the main benefits of doing things with an ECS is composition though so you'd expect more granularity than you'd get in other modular approaches which is of course a tradeoff in some respects.

Re: Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

#29
post #20

As a game dev, I'm starting to feel like ECS isn't the right paradigm. Seeing this 700 nodes graph with all the dependencies screams technical debt and domino effect (changing one small system would impact a lot of other ones). Not sure if there's anything better right now, but seeing everyone copy what Unity did feels like there isn't a ton of innovation in how to build gameplay systems. Lots of engines are being ma…

> changing one small system would impact a lot of other ones

This is a misunderstanding.

_Components_ don't depend on each other, nor do they (or should they) access each other, because they don't contain any logic. _Systems_ access components.

Re: Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2

#30

Earlier quoted context omitted.

Here's cart's analysis: 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.

So, 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?

Yeah 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.
Post reply on HN