No, this is not about special effects and environmental mapping in 3D-graphics, but about the experience of writing the game so far. Reason I’m writing this is, that I hit 501 commits today and thought it might be a good time to look back.
pyherc is my pet project that I have been working in a form or another for years. It all started back in the 90s, when I wanted to program the greatest rpg-game ever. I was using Turbo Pascal back then and learned quite a bit about basics of object oriented programming, but never got the game even to run.
Next try was some years later when I started learning C/C++ and tried writing the game again. Success was about as good as with Turbo Pascal (so, I learned how objects work in C/C++ and how easy it is to get tangled to little details), but again I didn’t get a playable game.
Then came Java and I thought it would be useful language to learn (I also liked the amount of libraries available out there) and I started hacking the code together. This time I actually got runnable game, where you could walk around, pick up and eat bananas and kill some randomly wandering monsters. This was also the first time I was exposed to unit testing. I wrote some of those, but the approach was not very structured or disciplined. Despite of that, I quickly realised that writing unit tests was good way to catch bugs before you could even run the code in actual game. Eventually I gave up with the game though and abandoned it.
Latest try has been written with Python. So far the results have been much better than before. I have playable game (albeit very basic) with extensive test cases around it. I’m trying to maintain healthy pace (not coding too much, not abandoning the project completely), while learning and trying out new things (inversion of control, dependency injection, doctests and so on). The game isn’t anything particularly special, but I’m quite proud that I finally got this far. Lets see where next 500 commits will take me.