I’m participating in One Game a Month (1GAM). Its a open project where people all over the world agree to produce one game each calendar month. There’s no prizes or money involved. Its just a personal challenge. I recently completed an interactive Python programming course on coursera.org, game development essentially. I finished the course feeling inspired and perhaps a little over confident and decided to give 1GAM a go.

I initially started something completely new and quickly ran into trouble. The course I’d done used a greatly simplified framework plus the Python programming language. I couldn’t really use that simplified framework for my future games so I switched to a well known game development framework called Pygame. It turns out that Pygame is rather more “powerful” ie complicated. The combination of a new more complex framework plus an ambitious project was a bit more than I could handle in my spare time. After some flailing around I hatched a cunning plan.

I would port my final project for the course to Pygame then use that foundation to create a new game. That would mean that, at least initially, all I had to do was get used to working with Pygame. The game logic was already in place.

Once I had my project working in Pygame I set about modifying it. Now instead of continually spawning rocks and the user having multiple lives, rocks are grouped in waves that become progressively larger and faster moving. The player has a single solitary life and must simply survive as many waves as they can. I also had to replace all of the sound elements as I could not redistribute the audio resources used in the course.

I did briefly wonder as to the wisdom of releasing this as someone else taking the Coursera course could find it and base their project on it. Then I realized that de-Pygame-ing it and removing the wave-centric game play would be vastly more complicated than simply implementing it yourself from the provided assignment template. If you are here thinking that I may have afforded you an easy way to cheat on your final project, you are very wrong.

Therefore, without any further delay, here is my first ever publicly released game…

Yet Another Space Shooter in all its derivative glory
Yet Another Space Shooter in all its derivative glory

Yes it’s breathtakingly unoriginal but its mine and it’s done. I have not yet figured out how to package Python/Pygame games so for the time being the only way to get it is from my github account. https://github.com/andyjdavis/yet-another-space-shooter

I’ve already started work on my February project. Its a completely original but reasonably simple platform game. Likely March will be a more ambitious platformer. Exciting times.

UPDATE: I have since figured out the dark art of turning a Python program into a Windows executable. Download Yet Another Space Shooter