C99 based ECS framework They implemented a nice a declarative scene-description language:
https://www.flecs.dev/explorer/?local=true&wasm=https://www.flecs.dev/explorer/playground.jsApparently they integrated it with Unreal engine, which still uses a rigid mess of classes.
Still pretty much a standard ECS implementation.
My personal ECS implementation serves as a drop in replacement for the class-based OOP I had before it grew out of hand. So my ECS allows getting away without creating a components hell while allowing working with entities as nice black-boxed objects. To design entities I either map on top of a classic class inheritance hierarchy or section a single class into parts. And systems are just the triggers invoked every second/turn/step/action-type based of the component presence.
That is because I designed my ECS as a way to build objects bottom up. I.e. I describe what object is, and then system tries to fill in the gaps, allowing me to get in where it fails. I.e. a write "Cyclops is a heavy large strong humanoid", and the system tries to match a set of sounds and behaviors adequate for a humanoid, which is heavy, large and strong. Same way a heavy entity is expected to break fragile objects, like say thin ice. That is kinda important for a tactics game, based of original XCOM.
But yeah, the idea is always the same: one codes components, models the world using these components and then just presses the `run` button to start the game. But I dislike the declarative ways, so it makes sense to expose entities as actual objects, which I can manipulate directly in impure ways outside of your haskell-style monadic systems
Current Mood: contemplative