Using bs::framework with entt ECS


Hey! I just discovered this awesome framework and want to use it for my project. From what I’ve seen, the framework and the engine that is based upon it, are very similar to Unity3D 's Entity-Component Architecture (components have both state and behaviour in them). But I want to use entt, an ECS architecture where components can only contain states. I don’t want the camera to automatically render my Renderables. I want to render them myself in the rendering system. And I don’t want magical Update calls in my components. Similarly, I don’t want to use SceneObjects(again seems similar to Gameobjects in Unity3D) , as I need Transfrom components only for entities that I move or rotate or scale. My question is, is this feasible or am I trying too hard to make the framework do something that it’s not meant to do? Thank You!


You can use the low-level rendering system to perform your own rendering, but you would pretty much need to implement your own Camera and Renderable components, as well as refactor most of the renderer to work with such system.

Note that bsf’s components do very little heavy lifting on their own. Most of their data gets copied off and handled over to systems that internally handle it in a fast multi-threaded way.


@FishingGrapes I’m in the same boat, checkout gitter chat.

The issue with any generic game engine is that ECS is not necessarily as intuitive as a regular scene actor architecture for most general users, so it’s difficult to design for it, so you’re gonna be having to likely implement your own render managers no matter which engine you use. That being said, bs::framework looks well written and mantained in the rendering api side so it will probably be a good idea to invest in it.