LOVE2D Ubuntu Game Development

February 22, 2013

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”!

My current main menu design

My current main menu design

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).


Giving LOVE2D a Chance

February 17, 2013

My holidays have finally started!

Now that I have some time on my hands, I’ve started looking at alternatives to PyGame. Previously I thought about using Unity 4.0 and turning Fruit Catcher into a 3D game. It would be easy enough to do, since I’ve already done a basic first person shooter in Unity 3.5. The problem lies in the fact that I’d have to continously boot out of Windows and boot into Ubuntu to test the game. So I’ve scrapped that idea for now.

Working with LOVE2D in Ubuntu 12.10

Working with LOVE2D in Ubuntu 12.10

Thus, today I tried out LOVE2D. In previous versions, LOVE2D was too heavy on resources and would bring my measly laptop to it’s knees. Now, however, the 0.8.0 release is pretty solid. Not to mention they’ve added more functionality, updated their documentation, and optimized LOVE itself. From my laptop, my friend’s laptop, and my desktop, we all get a solid 60 fps with my basic game thus far.

Running Fruit Catcher in LOVE2D.

Running Fruit Catcher in LOVE2D.

The real test of course, will be down the line. I have not yet implemented my star particle system in this Lua port. When I get all apples and bananas dropping, with stars jumping around on screen, that’s when we’ll see how the framerate handles. For now though, this is a lot of fun!

GIF showing Fruit Catcher running in Love2D

GIF showing Fruit Catcher running in Love2D