The series starts here
Finally I implemented am_Dive so you can compare it with your own implementation, there are many ways you can take the source forward. There is no settings screen for example, master volume and key bindings are just some of the things you can implement there, as well as moving the fullscreen / window button on to the settings screen, all things that will certainly be good practice.
A more ambitious thing to look at, is converting the aliens array into an ArrayPool, this will help with implementing more interesting and different waves, as well as increasing difficulty you can introduce different looking aliens that have very different behaviors, another idea is to add various different paths (lists of coordinate way points) for the aliens to follow.
You could try adding a high score table to the main menu, having a global lastScore variable that the menu check after the game screen has done will help with this, I’d stick to allowing three initials and changing them by using the cursor keys, just for simplicity, tying to add an editable text box GUI widget might just be more trouble than its worth… (but something I may later make a generic drop in source for at a later date – like I did with ArrayPool)
I’d be very interested to hear peoples feedback via the sites contact form, ideas and feedback are always welcome and will often stimulate new projects or posts
You can get the source here