You could use raycasting or fastcast for the cannons and for the movement use contactActionService. For gathering resources you can have the ability to switch modes maybe using the scroll wheel. This would be a complex game so I can’t really provide you with a lot of information.
(Maybe late I can script a spaceship for you)