The last two weeks have been very busy. I managed to finish and send in a grant application, from which I will hopefully hear the results within the next three months or so. Got a lot of help from my sister with the budged planning side of things and reviewing all text.
Intermixed with that effort, a few days prior to that push, and over the last few nights I have managed to check off quite a few tasks in my books on my project. All the complex re-factoring and optimization tasks are done. Which was a pain and half, but was made a lot easier with a steady supply of patience, drinks, tea and snacks from my girlfriend.
The optimizer now supports slanted shapes and all the customized blocks I added. The merging and baking process supports geometric pieces of arbitrary size, and will create the added geometry pieces for Unity since that engine does not support single mesh items with more vertices than 65k. Along with the support for the arbitrary number of vertices, there was this combining feature to take a lot of small objects and bake them into fewer objects to save draw calls and optimize on the fly.
There were a number of edge cases with the optimiser that caused minor twists of the brain, but it managed to solve them without causing too much damage.
Looking at my current tasks list, all of the remaining tasks for this current goal are rather simple. A couple of the tasks can be removed because I realized things can be solved even more simply. Other tasks are to assist editing, so that the user can more easily see where the block is in relations to other blocks on the grid. Icons and notification stuff to make sure the user knows which tool is active. And being able to rotate the current brush into the position you need it to be.
At the end of that, I only need to make the persistence of the custom brushes and the items created with them saved to disk and loaded when the application starts up. Proper place for those custom 3d tiles within the UI and redesign the UI a bit. Export the objects as .obj files and other custom format so that I can load them locally and in other game projects.
Then I will finally integrate this thing into my NOP project so that I can use it to create content for the game and add the piece of the builder I am using as a game feature.
But tomorrow morning, I have to go out and shovel a lot of gravel and dirt with my brother and father.
Busy days indeed!!