Is PyGame any good?

Pretty PyGame With Sugar On Top

For our final project in my HFOSS class, we have to create an activity for sugarlinux that would be education for a fourth grader. After looking into how exactly activities are made for sugar, my group found that the best option for making a game would probably be with the sugargame library. Sugargame is just a wrapper for the PyGame library that allows PyGame to run well on sugar linux, specifically on the XO. PyGame is a python based framework for making video games. Looking over the docs, I’ve found that the library isn’t all too different from other game frameworks that I’ve worked with before. However, looking through it, I’ve had a burning question, the titular question for this blog post actually: Is PyGame any good? What I mean by this question is how good of a development environment is PyGame? Should I use it to make other games for any reason besides just to see if I can? Is it worth developing in? Well, I’ve done some research and I think I’ve found an answer.

Firstly, python is generally considered to be a slower language than most other languages. While dynamically typed languages do tend to be slower than statically type languages such as C, what really matters is how you implement python. Python generally is compiled down to C which is universally recognized as a ‘fast’ language. So I would say that the argument of speed doesn’t really fit in with my question, so long as your game is compiled and not interpreted. While you could write a game directly in C for the speed, you probably want to have a very good idea of what your doing first. Python, on the other hand, tends to be a very new user friendly language.

The fact that new users can get up to speed so easily makes PyGame at the very least a good place to start for making games. Python is also a pretty easy language to write in for experienced coders, so making a quick prototype of a game in PyGame would be easy and probably fun. In this sense, PyGame has a use and is therefore good for those uses. That’s not to say that you can’t make and release a full game using the PyGame library. The game Dangerous Higschool Girls In Trouble was written in PyGame and has won some awards and is available on steam. Supposably it’s a pretty good game, though I’m not going to spend $20 to find that out.

So it’s not unheard of to make games in PyGame. However, I would have to say there are better options. I’ve already made a blog post talking about the Godot engine and other open source alternatives to making games. Godot is currently up there and competing with the likes of Unreal and Unity, and can be used to make some beautiful games. If you’re not going to remain in the open source domain for you game, there are a slew of other options you may consider that are frequently used to make full fledged games.

So, in all, while PyGame isn’t a bad engine, it definitely wouldn’t be my choice for a game that I intend to release fully, but I would definitely do some prototyping with it. I would also recommend it to anyone who wants to find a place to get started with making games and have little experience with coding.

Written on April 12, 2018