I’ve started my hobby programming again. As some of you may know, I learned the Python programming language a few years ago because I wanted to make an online role playing game based on the movie Aliens. That dream slowly faded as I realized I didn’t have the skills to do it nor did I have the time to devote to gaining those skills.
Now that I’m in Iraq, I have plenty of time on my hands. I’ve started programming again, though this time I’m working to convert a traditional pen & paper RPG to an online format. That way, I have the rules already made so I can concentrate on how to make them work on a computer. It’s a little easier this way, since I don’t have to think of making the rules at the same time I’m programming them.
I’m also learning to make basic graphical interfaces using wxPython, which is a Python library based on wxWidgets. That probably doesn’t mean much to you casual visitors but it basically means that I can now make a program for any computer that can run the Python language, namely the big three: Windows, Mac, and Linux. So, I can write one program and be able to use it on any computer I happen to be at. Or, I can write a program for someone on my Mac and not worry that they can’t run it on Windows.
Creating a GUI is a real pain in the butt. Simple text programs are relatively easy but putting a graphical interface on them can be frustating. Even just a simple form can take a while because not only do you have to think about what your program will be doing, you have to decide how it will look and how each of the visual widgets will interact with the underlying program.
I don’t know if I would go so far as to say programming is fun, but it is a mental workout. However, it is extremely satisfying when you figure out how to make your program do what it’s supposed to.
Using wxPython is one of the easiest ways to make a graphical program. You won’t be doing a lot of “traditional” game programming but it works for your typical productivity and utility programs. It also happens to work fine for my particular game, which is recreating paper forms.
Ultimately I plan on using PyGame to make a more complete video game, with maps and other things, but right now this is more than enough to keep me busy.