As a native English speaker, this presentation is extremely well worded. The way you explained many of the concepts in the video improved my understanding of ECS's tremendously. Thank you Marcel!
Doing some research on ECS. I wonder how the queries are handled in this system. Do we just keep lists of components that meet a specific criteria (s.a. entities that have have a health component)? We just modify these on add / removal and call iterate over them on each update? How does ECS handle queries under the hood? Also what is a big `NO NO` for cache misses? I guess we can't really avoid it in real projects can we?
I'm reaching out for help everywhere. If you can answer either of these questions, I could have an awesome game out: How do I capture an entity into a monobehavior variable: public Entity myEntity; ? OR If I have a single entity in a scene. How do I get a reference to that entity? I want to change it's acceleration by monobehavior script. I have the entityManager, but no reference to the entity.
Try not to fight concepts of ECS. It's generally bad practise to have references to entities in monobehaviours (they invalidate if entities get moved to another world for example). To find a singleton you can just use GetSingletonEntity in a system. You don't even need to register your entity as singleton, just make sure it has MyComponenType (add it in conversion for example).
As a native English speaker, this presentation is extremely well worded. The way you explained many of the concepts in the video improved my understanding of ECS's tremendously. Thank you Marcel!
One of the most useful video I watch yet on the subject. Thank for the upload.
Glad it was helpful, it's a really good talk. Thanks again Marcel for presenting 🙏
Great talk, good to hear much of the elements I have recently learnt and am now playing with being described.
Doing some research on ECS. I wonder how the queries are handled in this system. Do we just keep lists of components that meet a specific criteria (s.a. entities that have have a health component)? We just modify these on add / removal and call iterate over them on each update? How does ECS handle queries under the hood? Also what is a big `NO NO` for cache misses? I guess we can't really avoid it in real projects can we?
I'm reaching out for help everywhere. If you can answer either of these questions, I could have an awesome game out: How do I capture an entity into a monobehavior variable: public Entity myEntity; ? OR If I have a single entity in a scene. How do I get a reference to that entity?
I want to change it's acceleration by monobehavior script. I have the entityManager, but no reference to the entity.
Try not to fight concepts of ECS. It's generally bad practise to have references to entities in monobehaviours (they invalidate if entities get moved to another world for example). To find a singleton you can just use GetSingletonEntity in a system. You don't even need to register your entity as singleton, just make sure it has MyComponenType (add it in conversion for example).