LÖVE2D is amazing to say the least. In comparison to PyGame’s documentation, LÖVE’s is way ahead. In LÖVE’s documentation, they help let you know what functionality was introduced in what version of LÖVE so you never end up using a deprecated function. On top of that, the developers even document functionality that isn’t even out yet! This means I can prepare my game for these changes coming to LÖVE2D right now, and not have to worry later on. Things are a lot more visible, well documented, and organized on LÖVE’s wiki.
To top it off, many of LÖVE’s functions are made in a way so that they are self-explanatory. Even then, they make sure to include how it should be used in the wiki (sometimes with the guidance of images, or even example code). Not to mention there’s even a math section to help you get going! PyGame’s documentation really lacked visibility and organization. It made it that much harder to move forward programming my simple fruit catcher game in PyGame. Not to mention, LÖVE2D has such an easy way to “compile” and run the game. I just select all my .lua files and data files (images sounds etc) and compress them into a .zip, then I just rename it to .love instead. On top of that I can just send my .love file to a friend, and that friend can double click it to run it and play (So long as they have LÖVE installed on their computer).
In the past 4 days, I’ve already managed to create the following:
- Start Menu
- Options Menu
- Game level
Some interesting things to note is that, in my main menu background and options menu background, I have animated clouds sliding through and the text above growing and shrinking. This helps make my menus a lot more interesting and “alive”!
LÖVE2D is really good on performance. I’ve been testing it on my desktop, and naturally it will run well. What’s really amazing is that it runs exactly similar with same fps of 60 on my friend’s 2009 Macbook pro model running Ubuntu 12.10. They’ve really worked hard to make it smooth and robust. Currently, I already know how to change between different resolutions and go fullscreen/windowed-mode. I’m just in the midst of figuring out how to make a suitable method for the player to choose the resolution (e.g drop-down menu, or scroll menu etc). I think I can safely say at this point, I won’t be using PyGame anymore (especially since it seems there’s no more active development going on, at least not visibly noticable).