The Slime Updater
To start out I have added a new field to the part models, Discovered(bool).
When a slime is generated with a part, it will be marked Discovered. If a part is discovered then it can be cached in the client's slime part cache during updates to make loading slimes faster.
Now comes the hard part, well not hard... I already did most of the work, it's just going to be time consuming and tedious. I could make it less tedious but then it will be harder to debug if things go wrong down the line. More work today, less work tomorrow.
I wrote most of the updater but remembered rather late into it that I would need to make 13 API calls per sprite part. This is too damn much, I need to come up with an efficient method to handle this. The compositor needs all these parts shadows and highlights broken up, I could combine the highlights and shadows for the parts I suppose... though I will need sprite sheets if I want this to be efficient and I would prefer to have one sheet for world sprites and maybe a 2 frame preview sprite for the detail view.
However, if I want to use the detail view for a stupid idea I had later on (psuedo3d) it would be better to have it be a full sprite sheet as well. Thought his drastically increases the workload for spriting...
Suppose I should stick with 2 frame detail sprites for now. This may require some rethinking of sprite handling... before I do any of that I should run a couple tests on handling sprite compositing in engine vs pre-rendering it with the compositor API.
I guess I will dump the current compositor for a new Godot based one, adds more work but should give me a more even output. Probably be quicker too.
This means a sprite sheet redesign. We're up to V5 now.
What started out as a simple update system turned into a sprite compositing overhaul. Ain't that the way of game development? Or really, software development in general...
Alright, I am stressed out today so I will just spend the rest of my time figuring out how this compositing will work and rebuilding my damn sprite sheet template again.
Well... I've had a really rough day, trying to work despite it but I don't think I am going to be making any more progress this week. I will pick up Monday with the new compositor and finish the update system after that. Might work on it over the weekend, I don't know... honestly can't seem to even focus on anything at all right now.