On LÖVE, and Other Things

I’ve been spending some time using LÖVE lately, much to the disgust of my long-term game programming friend, SDL. (Well, C + SDL + etc.) I’ve found it pleasingly straightforward to use, so I decided to write about it here.

I first heard about it last year, although I can’t remember how. (I probably just googled something along the lines of “Lua game programming” and stumbled across it.) Despite downloading and playing with it for a day or so, I didn’t really use it until now, which I’m kicking myself for. It really is excellent.

Basically, for the uninitiated, making games is hard. Very hard. I’m not even talking about “triple-A” (AAA? AAA!) games here; even a project on the scale of an indie game is a massive amount of work. Nobody seems to realise this. Allow me to illustrate this point with a short story.

When I was a wide-eyed teenager, with heart set on making video games for a living, I undertook the games development course at my local university. Unsurprisingly, this course was packed. Wall to wall with like-minded individuals who “just wanna make awesome games, boyo!” (I was in Wales.) There was easily forty fresh-faced students in there, possibly closer to fifty. There wasn’t enough seats to go around and at the time I remember wondering how this was ever going to work when we got into the computer labs, which are always smaller than the lecture rooms. My question was soon answered. After two weeks, barely twenty of us were left. Nearly that number made it through the first year, and by the end of the second, less than ten remained.

I don’t know how many people went on to complete the course, because I dropped out. (I then went on to drop out of uni a second time, but that’s a story for another day.)

Making games is hard. Part of this misunderstanding is probably the fault of the universities. At least in this country, they market these game development courses as if “it’s all fun and games”, in other words, not difficult and you’ll definitely get a job at the end of it and everything will be lovely forever. In reality, if you don’t already have a programming background you are monstrously unlikely to succeed. I’m not saying it’s impossible, but learning to program and starting with programming games, while fun, is like learning to swim while competing in the Olympics. Then you find that acquiring a job in this industry is something of a game in itself. It depends on where you live, to an extent, but if you’re not willing to relocate then you’re going to have a bad time. If you do find a job, and actually enjoy working in the environment (which will be quite a surprise because SURPRISE! They lied to you / failed to tell you just what it’s really like) then you’ll be circulated around every eighteen months to two years anyway. Job security? What’s that?

I know what you’re thinking. “You’re a filthy drop-out so what would you know about the games industry?” etc. That’s fair enough, but I can still read and talk to people who didn’t drop out and ended up working in the industry, and they all say pretty much the same thing: I didn’t miss anything. But that’s me personally; some people thrive in environments like that. Clearly I don’t, or I wouldn’t be a filthy double drop-out.

Anyway, what was I talking about? Oh yeah, LOVE. (I can’t be bothered to type the Ö every time, so let’s pretend it doesn’t exist.) LOVE is great. It makes the usually laborious process of creating a game slightly less laborious. Which is great. You can throw something together very quickly, and what’s more, distributing your final creation is crazy simple. Distributing a game written in C/C++ with SDL can be a nightmare, a nightmare which I’ll no doubt write about soon because I’m working on something. As usual.

It has everything you need to make anything, as long as it’s 2D, which is hardly a limitation. (Another topic to write about someday soon.) Just check out its documentation.

So this is my first post. I had intended to flesh it out with some code examples but instead I ended up flying off on a tangent and ranting about something which I really have no right to rant about. I suppose that sums up my writing style (and myself) in general. On the plus side, it gave me ideas of topics to write about in the near future, and that’s the main struggle when maintaining a blog really.