I'm still trying to think about the best way to do collision, right now I have every sprite held in a series of arrays depending on how they should collide with other objects. Bullet particles are held in one array, moving objects like the player in another, and static structures in another. The downside to this is detecting collisions involves looking at every sprite, onscreen or not - which is expensive.
Screenshots (Art not mine, I need to find some more legal art to use soon):
Next up is moving static data like ship information, weapon information and map information into XML files that can be parsed into storage classes when the game is loaded. Also I need to find a generic way to make large explosions using the particle engine - something fairly random that can be used for any structures or ships.