I’ve just wrapped up a pretty nice bugfixing sprint. Besides the obvious of fixing bugs that needed to be fixed, I also got some things into place that will make it easier to implement some final features that are required to get to a closed beta!
Masteroid does a lot with dynamic coloring of graphics. Ships, weapons and other sprites are colored at runtime based on their faction, power and other factors. There was an issue where purchasing a new ship resulted in engines and turrets that were not colorized. Another bug where station menus were not showing accurate turret counts for ships turned out to all be related. I overhauled how the UI is updated based on the game state and it’s now much easier to see what’s going on.
While looking into a bug with purchasing ships not updating the saved game, I realized that players do not get the trade in value of their turreted weapons when selling their ship so I fixed that too.
I made major targeting improvements so that ship turrets now target a single point instead of just aiming in a direction. This means that AI (and player) ships with multiple weapons are now a lot more accurate.
The ship menu UI was showing bad icon images for ships. That’s now fixed and also resulted in a filed feature request with the creator of FlatRedBall and Gum (the engine and UI tools used in Masteroid). I still have some weird issues with the fonts on the ship menu being blurry but that is on the task list to fix.
I made some major improvements to how game data is loaded. This was a big step towards release because several of the features remaining are related to loading game data from a central server. This will allow me to add or tweak game content without forcing players to update the game.
Finally, I made huge improvements to how player death is detected and fixed a lot of generally goofy code. This led to docking improvements too. Ships now heal while docked and AI should not attack the player when they are docked.
Overall I had a some highly-productive code sessions and the Trello list to get to the beta is now mostly features instead of bugs!