I have been spending the bulk of my disposable time refactoring Asteroid Outpost (AO). I have implemented a version of the Unreal Engine’s Controller and Pawn classes, except that I have named them Controller and Force respectively, where a Controller controls one or more Forces and all Entities belong to a Force. So the AI will be implemented as a Controller and the HUD is technically a Controller, but due to other limitations, I can’t easily make the HUD be an Controller, so instead, the HUD will have a Controller. All of this refactoring is designed to make multiplayer easier to implement, so be expecting some networking code in the near future.
My friends were trying to convince me to move AO to 3D, but I fended them off because 2D is just easier. No plane normals, no cameras, and less math. For the time being, I am going to continue with 2D and my method of converting 3D models into 2D sprites. That brings me to my next point:
I tried searching the internet for an application that would help me streamline my 3D->2D process. I found a few applications that did this, but either they didn’t run on my machine due to missing DLLs or they were written for Windows 98 and wouldn’t run on a modern machine. There was one that was close: Flash 2D Sprite Renderer. The only thing it did not do was make a sprite with a square grid OR give you an easy-to-access meta-data file that contained where each frame is. Instead, he “cheated a little and added the details of the sprite sheet on to the end of the png file” with no description as to how, and to be honest, I’m not sure I want to write an application to post-process the sprite his application produces. So long story short: I’m going to add a 3D->2D importer to a Sprite Maker I have been working on in silence for quite some time. I will leave the details of the Sprite Maker for an other day.