MacGuffin Quest! – Post Mortem
Wow, what a weekend. This was my first Ludum Dare, and I can certainly tell you that I was not prepared. Deciding to do the LD48 in the spur of the moment, with about 3-4 hours of prep time is not easy. Attempting to code it using a library you have never worked with, in a language you have barely used, is even more so. Doing all this when this is the first actual game I have ever made, even more so on top of that. Honestly the only thing I’m actually proud of for this is that I managed to actually complete a full game in such a short period of time. I personally don’t feel like the my game is very noteworthy in any particular way, except maybe its ability to frustrate with the precision jumping room, but I feel great for having actually completely a game, and in 48 hours no less! (though actually much less than that, due to various reasons that you will see) Alright then, let’s have a look at the breakdown of what happened during those 48 hours:
Day 1 (including prep)
At about 2pm my time, with the LD48 kicking off at 9pm, I remember it suddenly and go check the website. Having always wanted to get in on this, I suddenly decide that now is the time. Having recently been doing some web development stuff and enjoying Javascript with the little bit I have used it, I decided to just go all out and code entirely in Javascript with HTML5 technology. The only problem with this being that I did not know any good libraries I could use to actually make the game with. So I did what any developer would do: googled. I ended up finding some huge list of engines, and eventually settled on using the CraftyJS engine. This was a huge mistake.
Don’t get me wrong, the engine itself seems like it’s fine and probably works well. However, the documentation is currently lackluster, there are barely any tutorials, and worst of all, the basic movement bits of the library that it provided did not work with the type of game I wanted to make. I am stubborn though, so I decided to just push forward anyway. Eventually I managed to cobble together some basic code that allowed me to move about and go into a new area. A new area that lagged all kinds of horribly even though it wasn’t even that large. At this point it is 5am, I am frustrated, and my small level is lagging a lot. It was time to go to bed.
The next day, with about 3-4 hours of sleep, I made the smart move of switching to another engine, one that has good behaviors built in for sidescrolling. This time I was using the Stencyl program to create a flash game. Unfortunately I had not used Stencyl in a long time and had to re-learn a lot of stuff on the fly. Beginning all over again is frustrating, and I begin to worry that I will not finish my game at this point. Doubly so because I have social obligations for that day, ones that would end up consuming a good number of hours during the dare. However it is while I am out, hacking away at some behaviors with my laptop, that I start to feel like progress is being made. I only make a little progress today, but what I do get done feels like an actual accomplishment.
Final Hours
I got around 6 hours of sleep that night, and still felt kinda like crap. But I had a game to make, and nothing was going to get in my way. This is honestly the day where pretty much everything got done. I pretty much put most of the game together between 9am Sunday morning and 8pm Sunday night. There were a few hours that I was productive on Saturday, but most of it happened on Sunday, particularly after the scrap of the first engine and everything I had to do on Saturday which was not making games. Honestly, this period of time was the most enjoyable of the entire dare. I had started to gel with the tools I was working with, and they are easy enough that adding content was an absolute snap. At around 7pm, I was feeling like the game was pretty much done, so I managed to spend a little time with SFXR to get some sound into my game. Then I discovered a few more bugs here and there and managed to quash them with an hour to spare. The most annoying and irritating part of this entire process was the fact that Stencyl kept spawning these invisible tiles that were totally unselectable from the scene editor, and I had to re-design a couple scenes several times either trying to get them to go away, or to work around them. They’re still there in the final product, but I designed the levels in a way that it is impossible to notice them.
Last Points
I really learned a lot of things during this, as short a time as I got to spend on actual development of the final product. The most important of those being that knowing the right library/framework to use BEFORE the dare starts is incredibly important. It is also very important to know the language you will be using fairly well. Attempting to basically learn a new language with all its little issues and workarounds on the fly is a bad idea. It is also a very good idea to know you will be entering the dare in advance so you can schedule your life around it. If I had been able to commit myself to the dare for those entire 48 hours, I think I could have created something a bit more interesting, a bit more refined, less frustrating, etc. It is also a good idea to try and keep in high spirits the entire time, always saying that you WILL finish your game no matter what, even if you have to cut lots of features or levels. That is much harder than anything else, but if you want to actually complete the dare it needs to be done. You can spend a nigh infinite amount of time polishing some small aspect of the game, but getting a full and cohesive game out there, even if it isn’t perfect, is much more valuable in the end. Particularly if you have never done this, or never made a game.
All in all, this has been very fun, even if I was discouraged for a bit in the middle, and I did not get to spend nearly as much time as I would have wanted focused solely on game creation. I’m going to use the time between now and the next dare to learn more about Stencyl, as it really is wonderful to use, so that next dare I can actually be prepared. This might have been my first LD48, but you better believe it won’t be my last. I can’t wait for the next one, and next time I’m going to attempt to create something much more interesting.
