I've always wanted to try writing a simple computer game, but have never found the time to sit down and do it. Part of the problem is that until recently I have not been very proficient in a suitable programming language. Not only would I have to spend time learning game programming techniques, but I would also have to brush up on my general programming skills as well.
Lately, I've been writing a lot of code in Python for work, and as a result I would finally consider the 'lack of general programming skills' hurdle jumped. But is Python a suitable language? It's certainly not a good choice of language for a game that requires high performance, e.g. a FPS, but for a 2D side-scroller or puzzle game it should be fine. To help there is the Pygame library, whose various classes and functions will handle a lot of the dirty work that goes into manipulating graphics objects and handling I/O.
So with my new found Python proficiency, and Pygame to help me out, the time is ripe for making this project happen. OK, so what game to code?
I've got it! A Dr. Mario clone! Should be easy enough... simple graphics objects, simple rules, simple everything. Plus, it's fun as hell, and Dr. Mario clones are relatively rare (at least compared to, say, Tetris clones).
Fast forward to today. After only a couple of Sundays worth of work I have written a bare bones, but fully playable, version of the game. You can see a screen shot above. Nice graphics, huh?
Now comes the hard part. What should I call it? I need to follow the usual convention of putting Py or Python in the name since it was written in Python. The most obvious choice is Dr. Python, which was my first working title (as you can see in the window title of the screen shot). Unfortunately there is a text editor that already goes by that name, so I have to try harder. What about Python, M.D.? Or Pyll Popper? Yeah, that's a bit more creative. Pyll Popper it is.
In an upcoming series of posts I will describe the development of Pyll Popper, particularly describing how to use Pygame for such a project. In the meantime, feel free to try the game. It is cross-platform, or at least it should be (I've only tested it on Linux). To play you will need to have installed python (obviously), and both the pygame and numpy libraries. For my code there is no installation necessary. Just unzip, make the .py file executable, and run it from the command line.
The controls are simple. Move a pill left or right using the arrows, and rotate using the 'z' and 'x' keys. To pause, press 'p' (some diagnostic information will be spit out at you as well). To quit, simple close the window or hit 'Esc'. If you find any bugs... no wait. When you find bugs, be a pal and let me know.
Dev. diary posts to follow...stay tuned.
Download Pyll Popper (right-click and 'Save Link As...')