After a while, i’m able to get back to my voxel engine and so, I was reading the full code in order to remember and refactor somethings. But then I noticied it got a bad design on the voxel generation, the way I used to manage chunk generation is very bad designed (high dependency) and since I last developed it, I read tons of articles and books about game design, so now I know it is really bad (also lots of Singleton-Managers).
So I started to search for a design-pattern to help me to solve this problem and I found ES very interesting. I’ve read the full wiki and tons of posts on Zay-ES section, and i’m ready to try it, but I think I didn’t fully understand the concept behind it (the hardest part to use ES is to change the way we think on development) but I know it’s mainly data-driven, so Components are basicaly “Data Holders”.
Now my question is: Since the core of voxels spin arround Chunks (model) and those chunks are represented by Geometry (view) how I’m suppose to implement ES on those kind of game? I mean, most of trouble in developing a Voxel Engine is how to handle the voxel storage (compress it, retrieval, node traversal, etc) and all those “problems” lays on “Model” which is where ES would help, so should I have just a ChunkComponent for each chunk (entity) and a ChunkSystem/AppState to compute each chunk(entity) and later just render the geometry?
Sorry if my post is too long, but since I’m a little confused, it’s also hard to ask the right question.