This is a guide to programming in Python, with the wxPython library, intended to help people who want to learn how to develop for, or at least modify, OpenRPG. This is meant to be an easy introduction to the syntax and data structures of Python, not a comprehensive documentation of OpenRPG, but from time to time I will delve into the code of OpenRPG for examples.
So why am I doing this? Well, basically, (a) I felt like it, (b) people wanted it, and (c) it's good practice for me. The advantage of an open-source program like OpenRPG is that anyone can mod it to 'scratch their own itch', as they say. If you want a dieroller for an obscure system, you can ask the developers, but they're busy and/or lazy people, so you're not guaranteed to get one. Instead, you can go ahead and learn to make it yourself -- and then, if other people want one too, you can share.
Now, this tutorial is aimed at a lot of different people, with varying programming experience; some may be veterans in languages like C and Java, just trying to learn the ins and outs of Python; others may be completely new to the concept of programming, and are learning Python to get an idea of how a programmer works. Because of that, there will be segments of the guide which are for non-programmers, to explain terminology or concepts that veteran programmers already know. Mind you, even then, you may get confused or lost, because it's impossible for me to know how much you know: like any tutorial, it's not really a substitute for learning from someone who can stop and explain things when you ask questions. However, my solution to this problem is that if you are ever stumped, try asking me and I'll try my best to answer. (See the contact line above for how to get ahold of me.) I won't always be able to answer you, since I'm not that much of an authority on OpenRPG, let alone Python, but hopefully I can point you in the right direction, at the very least.
This guide is dedicated to Woody and his 'Learn Python!' F4 macro.