So yeah, another Ludum Dare has come, another one is gone. It was a fun weekend, and very instructive. This is why I love Ludum Dare: no matter how much the theme sucks, you can always have tons of fun!
Despite this being my 8th time in this compo (8 times? holy shit), I was still unable to complete the game in time for the compo. So here is another Jam entry. I am biting my tongue as I say this, cause I could have entered the compo if I didn’t do the same mistakes over and over. I am talking about mistakes that I did the first time around. Oh well, I still was able to finish the game (barely…), and now let’s see what happened.
The Theme
The weekend starts pretty badly with a theme that I could not have expected. There were so many good themes, and the one that got picked was one of those I hated the most. Also, wasn’t there a theme like this?
Oh well. No time to cry, need to brainstorm something. I wasn’t too blocked from the theme that I didn’t like, so thumbs up for me.
The Tools
Alright, so I have a small concept and I get my hands dirty. I thought about doing an interactive fiction game, but with a twist. So I load up Twine, and start writing to my heart’s content.
Uh, oh. Little problem here. I have never programmed in Twine, and didn’t do the warmup weekend. Will I be able to do what I want to do?
Psh, it is an interactive fiction. How much work it may ever require.
So I start writing, and I am deep into the first afternoon when I decide that the story is going out okay and need to implement the mechanics. And here things go grim. I realize that what I wanted to do required a rewrite of parts of the Twine engine. I could not do that in a week, let alone a week end. So I run head first into a dead end, and it hurts.
Here I made two big mistakes. The first one is choosing a platform without knowing its limits and powers. This way, I didn’t know that I could not do what I wanted to do until the end of the first day.
The second one, and perhaps the most important, is that I did not do my warmup weekend. I didn’t know how to use its macros, and wasted a ton of times trying to make it do what I wanted it to do.
So yeah, it is the end of the first day, 18+ hours into the compo and I have to start again from scratch. Stupid, stupid, stupid. This has happened too many times in the compos I have been in, I guess it is one of my sticking points.
Anyway, time runs, so we can’t stop and cry. Let’s keep moving.
Brainstorming
I realized another important problem about the game I was trying to create. I was doing it because I thought other would appreciate it, not because I wanted to see it made. This made working on it unneccessarily difficult because I was not doing something that I liked. So I knew I had to find a new idea.
I study the theme for half an hour, reflecting on the implications of it and how it could develop. This is when I found out about an idea I really liked. A monster that lives by eating its progenie. How that idea came into my mind is lost into the abyss of oblivion, but I knew right away that it was THE idea I wanted to work on for the rest of the weekend.
And so I did.
Picking the tools I know
I dusted off my old engien that I have been using for the last few ludum dares. It is a simple, quick’n’dirty engine that gets the job done without getting in the way. I was in doubt if I should use this engine or something else, like GameMaker or something like that. I ended up sticking with this, and it was a good idea. I know JavaScript very well and can program very fast with it. Also, having created the engine myself over time, I knew it inside out. Also, after struggling with spaghetti code for so many Ludum Dares, I start to understand the patterns behind programming, meaning that I can create code that won’t choke me when I turn my back.
This powerful combination let me flow the code without interruptions. I don’t remember being stuck for more than 5 minutes on a bug. The code base is quite robust, with global variables used only for constants and bigger, general purpose classes, and everything else passed by value. This takes a little longer to program, but the peace of mind I get is out of this world.
Making the simplest game possible
Another choice that made this weekend doable is the fact that the game I wanted to make was super simple (you can see it with your eyes). No multiple screens, very little moving sprites, super simple game mechanics.
This allowed me two things. First, I could explore a little, testing stuff out. There were so little things about this game that adding and removing feature was quite fast. Second, I could spend a little time into polishing the gameplay, testing it out and changing and tweaking things. This is something that I have never done in a LD game (jam or compo) because I always ended up submitting minutes before the deadline, or when I simply could not stay awake anymore.
This means that the game is actually playable (even if it quite obscure, I realize), and not a sewn together mess that I could barely look at.
Focusing on core gameplay first
Another stupid thing I avoided is focusing on details too much, too soon. I usually pass the weekend doing graphics and soinds, and end up panicking in the last few hours with programming and fighting last minute bugs.
This time around, I did all the programming first. I did the bare bones graphics just to understand what is going on, and then never touched them again until the gameplay was done. Not almost finished, done. This was HUGE. I cannot understate how important it is. When I realized how important is to do all the programming first, I thought I had found the Nirvana of programming. Coding is a complex matter, and requires memory, skill and precision. It is not something one can do under pressure, and this means that focusing on it first allowed me to get the best out of it.
Procrastination and Distractions
Reading the above, it may seem strange that I was unable to finish the game for the compo.
The fact is, I have been a little naughty. I only showed the good so far, but didn’t tell about my worst problem…
Procrastination.
Even though I loved the concept, even though I liked programming it, even though I really wanted to enter the compo, I still ended up getting distracted by other stuff. I watched crap on reddit for a couple of hours on Saturday, and watched videos on youtube for two hours on Sunday. While this may not seem like a lot, you have to consider that I had other things to do other than the Ludum Dare. All in all considered, I think that I wasted at least one third of the time I actually spent doing the game on distractions and stuff like that.
When you are in a compo where time is an important resource, procrastinating is a deadly sin. This is a big problem of mine, and I need to address it better cause it is very annoying and precuded me from entering a lot of compos in the past years.
Conclusions
But all in all, it was an amazing weekend. And best of all, I was able to finish the game! Horray! It is always good to send something in for the Ludum Dare, even if it sucks or it is severly lacking. It makes me feel like I have accomplished something.
This is all for now, I guess. If you want to check out my game, Grow, you can play it here. That said, thank you everyone that made this possibile and so much fun everytime!