As I said in my last post, I’m excited about using Ludfesto as a learning experience. Fortunately (“fortunately”) for me, I have a lot to learn.
Pyglet is a module that I had never used before I started this project. Not even once. I was, and still am, excited about learning it because 1) it is a Python module, and Python is both useful and rather familiar to me, and 2) it seems to be much more powerful than PyGame, while still remaining rather high-level and beginner-friendly. Unfortunately for me, pyglet doesn’t seem to be as popular as PyGame, so there are many fewer in-depth tutorials. The best tutorials that I can find either do not cover the type of game mechanics that I would like to learn how to implement, or they use libraries/modules that I don’t want to use due to their licenses (more on licenses in another post).
What’s more, pyglet and game development in general are very object-oriented programming heavy. This makes complete and total sense, and OOP is popular for a reason. However, I don’t know much about OOP, so there is significantly more to learn than I expected. I find myself in a position where I am able to follow the tutorials that do exist and work with them to understand what is going on in the example games and applications that I can find, but I can’t extend them in the ways that I would like, because I lack the OOP expertise.
So that’s my next step. I’ve got to really dive head-first into learning Python’s OOP features in order to move forward with Ludfesto, game development, Python, and programming in general. But that’s what I wanted! I’m using Ludfesto as a learning experience, and I have been presented with something very important and relevant to learn for the sake of Ludfesto. I’ll check back in after I’ve learned a bit more, and maybe even made some progress.
As an aside, I also wanted to learn a bit more about vector graphics and Inkscape for Ludfesto, but that may be a bit too much to cram into the next few weeks. So I will probably just be using raster graphics/pixelart for this particular project.
[Edit 2014-12-14] With respect to licenses, I’ve actually found that Cocos2d, a library “built on top of pyglet,” is actually licensed under the 3-clause BSD license, which is GPL compatible … and actually the same (I think) license that pyglet itself uses. I just didn’t immediately recognize the text of the license. So there’s another project: learning more about Copyfree licenses. Now that I know what the licensing issues with Cocos2d were only in my head, I may go ahead and use it if this tutorial works out. :)