Back in October 2012 I had the bold idea of taking part in Ludum Dare’s October Challenge. Having done game engine and game development projects in the past I knew what kind of huge challenge this was going to be. Nonetheless I still knew I wanted to do it.
Already being in a game idea research phase, after having completed the circle of my last game Pop Corny, I comforted myself by thinking that this was a cool way to take one of the many ideas in my head and really try it out. The worst thing that could happen was to add one more idea to the “crappy game ideas bin”.
What I had was a game idea and a custom game engine. I arranged a meeting with his majesty Thanasis Lightbridge (the mastermind behind the Dol Ammad and Dol Theeta bands), and convinced him to take on the graphics, music and sound design of the game. How little he knew of the horror and torture I was going to put him through for the next 30 days!
With no time to lose I described the idea of a sandbox type game, where you can freely combine simple gadgets to create elaborate flying machines. Before the day was over and through a crazy brainstorming session we were able to find a theme to dress this concept, and that was how Mr. Herbie, the male ladybug, was born. We were going to make a game for a lazy, chubby, ladybug that is too bored to fly with its own wings. Perfect…
Having high standards and only one month is never a good combination when making a game. What most people don’t understand is that games are not created in a linear fashion. You don’t start with an exact game design in your mind, you write it down, split it up in tasks, make a list, start checking out entries on it, and when all are checked publish your game. Game designing is more of a tree building that a list building. You start with an idea and from there you have a number of separate ways to go on. Each one of these ideas then give you more ways. So this way you build a huge tree with branches about every aspect of how the game can be. If we had infinite time, it would be possible to go down every single different path in that tree and actually find the game that works best for us. That is never the case in the real world, and definitely not the case when you only have one month to do it. It is obvious that the key to success in such cases is having a good “greedy algorithm” (as it is called in computer science) that will decide early which way down the tree is not worth going -and be mostly right about it so you don’t miss the next big thing in games-, and being quick to iterate implementing ideas. This is important since you will have to go down to branches only to find out that it will not work. You should be able to quickly backup and try another branch. Yes, the games you play are what is left after you distill all the ideas that don’t work.
That was exactly what I did. I chopped ideas as early on as possible. When an idea seemed worth trying out, I did a quick prototype of and tuned it until it was good enough. If it felt wrong it was dropped and I back tracked to other ideas. The chopping of ideas is mostly a craft and I can’t really tell you how its done. Its mostly about experience that is gained the hard way. The quick iterations on the other hand are a combination of discipline and having the right tools.
Discipline is about being able to focus on what you really want make, not being distracted and being ready to dispose hard work when things don’t turn out as fun as intended. And that is harder that it seems, because as humans we have a tendency of thinking better of things we worked for. It takes great discipline to also cut the feature you think is uber awesome but you probably can’t make it in time and you will have to cut down other features of the game, resulting in a grand total that is less of what it would be without the uber awesome feature.
Having the right tools is greatly important. How can you quickly iterate when your processes take hours? You need to find ways to make iterations as efficient as possible. I live in a different city that Thanasis, so what would happen if every change had to be transmitted by email? You easily solve that with dropbox for example. But we can do better than that. For example I had build a system that was constantly deploying (incrementally) the game through dropbox to any number of computers. The game engine also supported hot loading of game assets and scripts. I could actually press save on the script editor and the change was effective immediately on all testing devices running… anywhere in the world. Action games require a lot of “tuning” to achieve the maximum fun effect, and doing it through a build-run-test cycle is not going to work. You will either not tune it, or it will take you enormous amounts of time. Both bad.
Doing this really allowed to save time for the artwork to get prepared and to try out lots of things. It wasn’t until the last 10 days that the game was exactly as I wanted it to be for a months project. All the fun parts of creating your flying machines and crashing them to the ground was there. In the last 10 days we had all the stuff around that made. The leaderboards, the settings, the menus, the gameover screens, item unlocking and progression, etc. Artwork finalization also took place during that period, along with the final sound effects.
The final weekend to the release was crazy. I probably slept for 2-3 hours, fixing the final bugs and glitches. It was then that I had to cut one of what I considered a major feature of the game. The flight replay. It was a long shot because determinism is a delicate thing, and requires paying a lot of attention while developing the system, which was clearly not an option during one month. The system was not 100% correct at that point, and I had to cut it during that phase. It was stressful. Lots of work had gone into it and I had to cut it. Thankfully not completely as I was going to revisit it after the original release when there was time. So I did and now flight replay is supported and you can even share replays with friends.
The development was done on a BlackBerry PlayBook at the time, as I needed a very stable platform. I knew I didn’t have the luxury of trying out different screen resolutions etc. The PlayBook was ideal as it was a very specific system with an app store and many users willing to buy a good game. Don’t forget that the October Challenge requires that you make a buck out of your game!
Also during that last days I prepared the ground for the coming of FlyCraft. I setup a website announcing the release and setup a mailing list for those interested. I created a teaser video and made a post about it on Ludum Dare website. People seemed intrigued…
The game was submitted for review and got available on the BlackBerry World on October 30th, where it sold about 700 copies at $1.99 that single day. Users really loved it, and 5 star reviews were hitting the store constantly. The game being a BlackBerry exclusive also got the attention of BlackBerry oriented press that covered the event as something extraordinary, bringing in more traffic and sales. It even managed to be voted “Best new game” in Crackberry’s Readers Choice Awards for 2012. The October Challenge 2012 was a success for FlyCraft! But things didn’t stop there, as fate had more for Herbie. FlyCraft was mentioned in BlackBerry’s Developer Conference in Amsterdam during the keynote. I think that this was the biggest highlight of FlyCraft’s path. Alec Saunders in the keynote stood up in front of a huge video wall with FlyCraft on it and he talked about the game and the story behind it. I honestly don’t know how I am going to top that in the future!
Looking back at the challenge and the events that followed, I often try to fully grasp the benefits of this competition. I now believe that learning to self constrain yourself is one of the major powers you can harness for getting better and achieving your goals. Ludum Dare teaches you exactly that. I really believe that without the mental goal of the challenge FlyCraft would have taken longer to complete (if ever) and it would be a lesser game. Big part of FlyCraft’s excellence comes from its simplicity and focused execution. That would surely be missing without the challenge.
[This post was also posted on my blog here]