Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
The best references I've found on the subject so far: * Adam Martin's blog - I remember this from awhile back. * Sander Mertens' ECS FAQ - Author of a well-known ECS library written in C
For existing libraries (which you can either choose to use, or choose to reference to look at how they implement ideas), maybe you can take a look at the following. I don't have experience with them, so I don't know how well they are implemented nor whether they strictly adhere to data-oriented design practices to get maximum performance, but it's not always strictly necessary to get the best performance out of everything unless you are writing a 3d AAA game with hundreds of thousands or even millions of entities: * Svelto.ECS - A C# ECS * FLECS - Written in C, but it also has a C# binding and it's a pretty well-regarded ECS implementation * ENTT - "Modern C++" ECS implementation * Bevy - a full game engine with a robust ECS implementation, written in Rust and quite modern.
For existing libraries (which you can either choose to use, or choose to reference to look at how they implement ideas), maybe you can take a look at the following. I don't have experience with them, so I don't know how well they are implemented nor whether they strictly adhere to data-oriented design practices to get maximum performance, but it's not always strictly necessary to get the best performance out of everything unless you are writing a 3d AAA game with hundreds of thousands or even millions of entities: * Svelto.ECS - A C# ECS * FLECS - Written in C, but it also has a C# binding and it's a pretty well-regarded ECS implementation * ENTT - "Modern C++" ECS implementation * Bevy - a full game engine with a robust ECS implementation, written in Rust and quite modern.
For existing libraries (which you can either choose to use, or choose to reference to look at how they implement ideas), maybe you can take a look at the following. I don't have experience with them, so I don't know how well they are implemented nor whether they strictly adhere to data-oriented design practices to get maximum performance, but it's not always strictly necessary to get the best performance out of everything unless you are writing a 3d AAA game with hundreds of thousands or even millions of entities: * Svelto.ECS - A C# ECS * FLECS - Written in C, but it also has a C# binding and it's a pretty well-regarded ECS implementation * ENTT - "Modern C++" ECS implementation * Bevy - a full game engine with a robust ECS implementation, written in Rust and quite modern.
For existing libraries (which you can either choose to use, or choose to reference to look at how they implement ideas), maybe you can take a look at the following. I don't have experience with them, so I don't know how well they are implemented nor whether they strictly adhere to data-oriented design practices to get maximum performance, but it's not always strictly necessary to get the best performance out of everything unless you are writing a 3d AAA game with hundreds of thousands or even millions of entities: * Svelto.ECS - A C# ECS * FLECS - Written in C, but it also has a C# binding and it's a pretty well-regarded ECS implementation * ENTT - "Modern C++" ECS implementation * Bevy - a full game engine with a robust ECS implementation, written in Rust and quite modern.