- There is a lot of template code so what would normally be a simple error is a lot more confusing to figure out.
- There are a lot of changes to be made as the new system is completely different syntactically thanks to the CRTP and template argument lists. This is easier to use but means a lot of code changes.
- The new approach now also has the "Systems" store a list of entities they work on rather than the entities storing what systems work on them.
So instead I have decided to flesh out the new ECS with a few of the components and systems that are already created in the old approach. The main ones I'm going to go for is the transform component, mesh component and then the render and movement systems. This is the minimal amount of work I thought I could get away with to get this ECS rendering.
The next thing I will be doing is migrating across a few libraries such as the Renderer library and also the JBEngine main library. I believe with very few changes I might be able to get a window and some basic entities rendered. The Renderer library won't need any work but the JBEngine one will need quite a few. I am hoping that If I create an Interface for the Entity Manager I will then be able to switch out the old ECS for the new one and write some simple client code for creating a few entities.
This all sounds really simple and I am hoping it will all go smoothly.