ecs-faq
dominion-ecs-java
ecs-faq | dominion-ecs-java | |
---|---|---|
21 | 13 | |
1,760 | 277 | |
- | 2.9% | |
6.0 | 7.1 | |
3 months ago | about 2 months ago | |
Java | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ecs-faq
-
Show HN: Interactive ECS Systems/Component Explorer for Cities: Skylines 2
The Wikipedia article provides a broad overview, while this FAQ offers a more systematic exploration: https://github.com/SanderMertens/ecs-faq
-
Sparsey 0.11.0 Release - Better Performance
Sparsey is an Entity Component System focused on flexibility, conciseness and providing features exclusive to its sparse set-based implementation.
-
Beginner looking for code review : my ECS lib !
For further reading, here is a great article about these different approaches within Rust specifically: https://csherratt.github.io/blog/posts/specs-and-legion/ and here is a great general resource for commonly-used terms and techniques in ECS development: https://github.com/SanderMertens/ecs-faq
-
Ways to create game engines
Godot has a node based system (nodes can have child nodes linked to them, and there are different types of nodes for the type of functionality they represent). Another alternative could be a more OOP approach (utilising inheritance as the main means of extending functionality), not aware of any modern engines that take this approach anymore. It’s also worth noting that ECS implementations can differ wildly, this faq from the flecs creator has a good rundown on what some of different variants are.
-
Is ECS really the way to go in C++?
You might wanna take a look at https://github.com/SanderMertens/ecs-faq, it lays this all out better than I can.
-
Flecs 3.2, a high performance game development framework for C and C++ is out!
To find more about ECS, see the FAQ: https://github.com/SanderMertens/ecs-faq/blob/master/README.md
-
Functional relational programming model in Clojure(Script)
Using the relational model for app data in memory is really interesting.
Martin Fowler wrote about doing that as a way to get around the "object-relational mismatch" issue[1]. Richard Fabian describes "data-oriented design" as having a lot of overlap with the relational model[2]. ECSes becoming very popular in game engines are basically in-memory relational databases where "components" are "tables"[3].
[1]: https://martinfowler.com/bliki/OrmHate.html
[2]: https://dataorienteddesign.com/dodbook/
[3]: https://github.com/SanderMertens/ecs-faq#what-is-ecs
-
does an ECS system need unique identifier ( uuid ) ?
This is the ECS FAQ I'm currently using.
-
What are some things you have used ECS for?
While Unity's DOTS/ECS is positioned as solving performance issues for large numbers of objects, there are a number of other advantages. See https://github.com/SanderMertens/ecs-faq for a more in-depth look. IMHO the reusability and extensibility ECS encourages is as valuable as any performance increase. Compared to the GameObject style, which encourages random state mutations and side-effects, ECS enforces a more functional style, which results in code that is easier to reason about and test.
-
Dominion VS Artemis, the missing benchmarks (link in the comments)
thanks, i think a little more background on the ECS world will help you get the context, this is from the author of Flecs: https://github.com/SanderMertens/ecs-faq
dominion-ecs-java
-
Dominion ECS - the Release Candidate is out
You are right, I will add more info about the architecture! About which operations perform better you can already relying on the available benchmarks
- Dominion VS Artemis, the missing benchmarks (link in the comments)
-
Dominion official Early Access, the Java17 Entity Component System now available as a snapshot from the Maven Central repository
Check out the new Quick Start section to see the “how-to”.
- Dominion ECS Examples, a roguelike example with a lighting system distributed over multiple threads using the new Scheduler with fork-and-join functionality
- Dominion ECS Examples, a roguelike example with a lighting system distributed over multiple threads using the new Scheduler with fork-and-join functionality (link in the first comment)
-
Dominion official Preview. A Java Entity Component System (ECS) with outstanding performance
Dominion aims to have a clean and minimal API surface and all the features already implemented are documented, tested, and with benchmarks. A simple example code has been provided in a dedicated module.
-
Dominion ECS, a high-performance implementation with Java 17 (and record classes) vs C / C++
With this project, I aim to demonstrate that Java can also participate in the competition and for good reasons.
- Dominion, high-performance with Java 17 (and record classes) vs C / C++
-
Dominion, an attempt to implement a fast ECS by design
Dominion is still in its early stages but has already started running at a very high speed, fast by design. It's still far from a complete ECS solution, but I've already implemented the API to create/delete Entities with Components, find them and iterate. I've also posted some benchmarks related only to what I've achieved so far (so on the speed of creating, deleting, and iterating Entities), and I think it looks very promising.
What are some alternatives?
Node RED - Low-code programming for event-driven applications
wolf-ecs - The fastest Entity Component System library for the web
EntityComponentSystemSamples
artemis-odb - A continuation of the popular Artemis ECS framework
entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
dominion-ecs-java-benchmark - Benchmark for dominion-ecs-java library
Superstar-Game-Suite - A top-down 2D game creation suite for platforming, world building, and story telling.
retinazer - An entity-component-system implementation for Java
ygopro - A script engine for "yu-gi-oh!" and sample gui
echothree - Echo Three Mirror
entityx - EntityX - A fast, type-safe C++ Entity-Component system
entity-system-benchmarks - microbenchmarks comparing ECS (entity component system) frameworks for java