Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ajmmertens
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
How to build fast hierarchies for game objects using data oriented design
(ajmmertens.medium.com)
10 points
by
ajmmertens
3mo ago
|
0 comments
2.
▲
Building an ECS #3: Storage in Pictures
(ajmmertens.medium.com)
11 points
by
ajmmertens
2y ago
|
0 comments
3.
▲
by
ajmmertens
3y ago
Judging by the system & component names this looks to be pretty well designed tbh. There are a lot of systems for sure, but considering this is a city simulator that's kind of expected.
4.
▲
by
ajmmertens
3y ago
> I bet the current design passes and queries data all over the place, very redundantly That's not how ECS works. A system has one or more queries that provide it direct access to the data. There's no passing around of queries
5.
▲
by
ajmmertens
3y ago
The query engine works on top of an Entity Component System (ECS) storage that stores entities and their data in cache coherent (SoA - https://en.wikipedia.org/wiki/AoS_and_SoA ) data structures. With any kind of databa
6.
▲
by
ajmmertens
3y ago
Or if you want code that's easier to extend, read and don't want to do your own memory management. Here's a bit of code from that project that generates a monster: https://github.com/tmewett/BrogueCE/
7.
▲
by
ajmmertens
3y ago
The same goes for Flecs: - it has tools like https://github.com/flecs-hub/explorer that work with any Flecs project - it has builtin support for hierarchies/prefabs and more ( https://ajmmertens.medium.c
8.
▲
by
ajmmertens
3y ago
The way you frame the question already suggests a solution, and one that indeed doesn't fit ECS that well. That doesn't mean you couldn't design a DAW using ECS, but you'd have to redesign how it works. For example: - cr
9.
▲
by
ajmmertens
3y ago
> but still ECS incurs massive overhead compared to basic arrays of structs I actually know of quite a few projects that use ECS as the foundation for a low level rendering library precisely because it lets you iterate over a bunch of pl
10.
▲
by
ajmmertens
3y ago
The opposite also applies: don't reinvent the wheel if you want to get something done. Existing game engines like Unity/Unreal already have builtin solutions for entity management, but if you're (for whatever reason) using so
11.
▲
by
ajmmertens
3y ago
I'm definitely not going to argue that you need ECS to do much of anything, but ECS has come long way in the past 4 years from a tool that lets you have lots of entities in a game, to a more generic system for entity management. Thin
12.
▲
by
ajmmertens
3y ago
It could be yep. One of the things that makes it a good fit for this use case is that Flecs has a query language that supports things like graph traversal and joins. Combined with either the builtin REST API or some custom protocol you coul
13.
▲
by
ajmmertens
3y ago
Definitely possible. I know of a project that used an event-based architecture to decide when to run ECS systems.
14.
▲
by
ajmmertens
3y ago
The biggest reason for me was to reduce compile times, which got cut into approximately half when I replaced STL containers with simpler custom ones. This starts adding up in large projects, where lots of files end up including the ECS.
15.
▲
by
ajmmertens
3y ago
Pretty close, but there's a bit more to it. This post goes over one way an ECS can store data: https://ajmmertens.medium.com/building-an-ecs-2-archetypes-a...
16.
▲
by
ajmmertens
3y ago
Whether ECS is complex or not depends a lot on which one you use. I've heard the same thing from a lot of gamedevs that use DOTS, but people in general seem to be pretty happy using Entitas (also a C# ECS that can be used with Unity),
17.
▲
Flecs 2.1 is out! A faster, easier to use ECS for C and C++
(medium.com)
1 points
by
ajmmertens
6y ago
|
0 comments
18.
▲
Easy C/C++ reflection library without RTTI
(github.com)
2 points
by
ajmmertens
6y ago
|
0 comments
19.
▲
Why Storing State Machines in ECS is a bad idea
(reddit.com)
2 points
by
ajmmertens
6y ago
|
0 comments
20.
▲
Show HN: Flecs 2.0, an Entity Component System for C and C++ is released
(medium.com)
2 points
by
ajmmertens
6y ago
|
0 comments
21.
▲
Why vanilla ECS is not enough
(medium.com)
3 points
by
ajmmertens
6y ago
|
0 comments
22.
▲
Show HN: What happens if you combine ECS with inheritance
(reddit.com)
1 points
by
ajmmertens
7y ago
|
0 comments
23.
▲
Show HN: I just created a new language called Y
(github.com)
2 points
by
ajmmertens
7y ago
|
2 comments
24.
▲
by
ajmmertens
7y ago
Is it faster than Y? https://github.com/SanderMertens/y
25.
▲
A FAQ for People New to ECS (Entity Component System)
(github.com)
2 points
by
ajmmertens
8y ago
|
0 comments
26.
▲
A closer look at bake, a tool that makes building C/C++ code effortless
(medium.com)
5 points
by
ajmmertens
8y ago
|
0 comments
27.
▲
by
ajmmertens
8y ago
> It does not change anything to all the other problems of bundling dependencies. Including the problems related to diamond dependencies. As you put so eloquently before, that should not be the prerogative of build systems like bake, but
28.
▲
by
ajmmertens
8y ago
Thanks for highlighting this- yes, there are quite a few other projects named bake. The internet is a big place, and while that means that it's almost impossible to come up with a name that's not already in use, the likelihood of
29.
▲
by
ajmmertens
8y ago
I am currently working to reintegrate a feature in bake (from before the fork) that will allow you to run unit tests on discovered projects. Stay tuned ...
30.
▲
by
ajmmertens
8y ago
Is this because you feel there is already a lot (perhaps too many) other build tools around?
More ›