A lot of my time spent this week was on developing a good workflow for art assets. To the side you can see a rough overview of my process, from concept art to highpoly. None of this art is final, and the highpoly especially needs hours of additional work, but I think that I've settled upon a workflow that I like.
I start with a concept for a finished spaceship, block out the shapes very roughly in 3D, and then begin refining the part blockouts into highpoly meshes. Once I've got the highpoly production meshes finalized, I'll retopologize them appropriately as game assets. My plan is to build a set of modular pieces which will be assembled together into ships. I'm hoping that doing things this way will allow for a decent degree of customization without requiring an enormous workload.
I've been attempting to do one blockout per day, regardless of the other areas of focus, so right now I've got a decent library of basic shapes to play around with. The highpoly meshes will of course take longer, but because art requirements can change based on gameplay, I'm reticent to spend too much time on art just yet.
As far as code goes, continuing in the vein of last week, I've also been working on making the game more mod friendly. One of the ways I've done that is by integrating PhysicsFS. PhysicsFS is a filesystem library that works by treating multiple real directories and zip archives as one virtual location.
This vastly simplifies the handling of mod files, allowing players to build their mod into a zip archive and distribute it that way. If there are multiple copies of the same file, only the latest loaded one is used, so it's easy to override specific game files. What this means for the player is that they'll be able to download a single mod file, put it in a mod directory, and then switch it on or off in game.
Integrating PhysicsFS went fairly quickly, though it did necessitate some changes to how we fed images and sounds to the game. The more time consuming aspect was getting the system to handle loading and unloading mods correctly; depending on what files a mod affects, this could involve anything from just removing new content to reloading the entire asset tree. I've still got a few kinks to work out, but for now it seems to be working well.
If you'd like more info on what I'm doing, feel free to drop me a line on twitter @JeckDev or leave a comment below. You can also subscribe to the mailing list for monthly email updates on what I'm doing. The first newsletter just launched, so if you'd like to see what kind of content you can expect, you can check it out here.