Phew, so after two and a half hellish days, here we are. The Call is actually finished (kind of).

Last Friday I never made a game in my whole life and never thought I would.

Now, just three days later, I completed my first game.

The feeling of accomplishment is overwhelming, even though the result is not spectacular.  This, plus the fun I had making it, are worth the sleep deprivation and stress of this last week end!

Let’s look back in time and analize what made the development of The Call possible and what made it Hell on Earth, so that next times I’ll ake a game I won’t have to keep the phone near me to call 911 in case I have a heart attack.

What went unexpectedly smooth:

  1. Ren’Py.
    As I said in another post, this engine is pretty amazing once you get to know its possibilities. It’s so much more than a visual novel engine. This weekend helped me appreciate the qualities and fun of scripting for this engine. I have to say it was a neat choice for my first game since it allowed me to save a lot of time on many things that would have taken forever in another, lower level language (for example sound). I was really satisfied of its scripting language and its extensibility. I will use it again in another game, that’s for sure (even though I’m thinking about using Haxe for the next LD for making something more interesting gameplay wise).
  2. Deciding the engine/language I would use before the start of the competition.
    I knew way before the theme came out on saturday that I would be making a game in Ren’Py. That saved me a lot of time on brainstorming ideas later on cause I already knew what the possibilities and limits of my engine were. I also had some time to become familiar with the engine itself, so that I would not start for absolute zero at the start of the compo, thus saving a little amount of time.
  3. Brainstorming ideas.
    As soon as I knew the theme for the compo, I sit down on my desk with a piece of paper and a pen and nothing else and started writing. Writing, writing, writing. I wrote down ideas, comments on ideas, random thoughts, imprecations, everything that passed in my mind. Pure freeform mindflow. The result was that, after a few mediocre ideas or some amazing iddeas that I would have never had the time to do, I finally struck an idea that appealed me: making a game with minimalistic dialogue.
    The original idea was completely different and probably more interesting as far as the competition goes: it was about a game where you have to save a princess and can only choose to save her. After that, the game would end. The only additional choices would change the context of the things happening, so you could save princess Diana with a motorbike on fire or save princess Peach killing all the Goombas with a machine gun. The idea was cool but way more ambitious, so I had to scale it down a lot. In the scaling down process, a lot of stuff changed, ending in what you have played (or will play, or won’t play, your choice) which in no way resembles the original idea. The original title was also different (The Mission). I still think it is a cool idea and may implement it in the near future.
    Still, after less than three hours in the competition, I already had a rough idea of what my game would be. This gave me an immense motivation that I would have never had if I didn’t have a clue on what I would be doing. This played a huge part in me actually being able to finish my first game.
  4. Knowledge of the tools.
    Most of the tools I’ve been using (Ren’Py in part, REAPER for sound, GIMP for drawing) I know very well, meaning I saved a shitload of time on a lot of stuff that I would have to learn, subtracting time from the already limited time pool of the competition. A little hooray for me!

 

What went horribly wrong:

  1. Ren’Py.
    This engine is a double edged sword. While it has great potential, actually being able to use it means having over the top google fu abilities. Its documentation is extensive, but lacks examples. This implies that implementing new stuff isn’t immediate and requires some attention.
    Luckily PyTom (the head behind Ren’Py itself) is an exceptional dude and posted tons of helpful posts in his forum, and the whole community is very supportive; still, districating the gold out of the World Wide Web is not immediate and lead to a lot of time spent in the browser instead of in making the game.  This to be honest is more of a  nuisance and less of an issue if you do not have deadlines; doing it for a LD (especially my frist one) was instead particularly stressful.
    Still, I have to say that the new stuff I learned over these three days made me want to explore the possibilities of Ren’Py even more. I already have an idea for a new game, and this time making it will be way smoother since I actually know how to do stuff.
  2. Failing to follow my own advice.
    On Friday I posted a list of suggestions to actually make my first Ludum Dare go smoothly. I feel slightly guilty in saying that I completely ignored my own advice, and as a consequence nearly fell asleep on the keyboard trying to correct bugs at 4 AM after a 20 hours day. My biggest failure was not remembering that details are EVIL. As a perfectionist, details have a devilish charm and it never feels too soon to start working on them (whil eit actually is). What I did wrong was starting to work on art and music while not having any idea for a script. While at least it gave me something interesting to put into the game, it put me back more than 36 hours on the script, which I completed on the last few hours of the competition. I actually finished the script for the interactive novel less than one hour before the ending of the compo, meaning that it would have been impossible to finish all the debugging and proofreading in time for the LD48. I still made it for the jam, but it still disappoints me that I came so close to the deadline without actually making it.
    (In my defense, I have to say the original script I though of was crap and putting it back on time allowed me to rethink a lot of stuff and refine it a lot, making a lot more interesting to read at least. Still, doesn’t hold up as an excuse to me.)
    As they say, there are two ways to learn stuff: the hard and the easy way. This time I went for the hard one. Next time hopefully I won’t make the same mistake again.
  3. Time management.
    This was the number one issue for me. While I actually scheduled the times for everything quite rigidly, I didn’t include any time for debugging. This was HUGE. As an excuse I can say this was my first project, so I had no idea debugging could take so much time; on the other hand, thinking it would take NO time was foolish from my side. I mean seriously! Thinking about it, how could I think the game would just fall in place by itself? Another big mistake that I won’t make again.
  4. Sleep deprivation.
    I didn’t think this would be such a big issue. I’m probably getting too old for 4 hour sleep schedules. Or, more probably, thinking intensive activities like making a game actually reuire the brain to be well rested before going on a marathon. The fact is, the last few hours before the end of the 48 hours were an agony. I had an half finished script after 16 hours of work in that same day and 4 hours total of sleep and it was extremely hard to maintain focus. In the end I did it (sort of), but I would never repeat that again. You can make more in an hour with a well rested brain than in 5 hours with a sleep deprived one.

 

So, I’m guessing that’s it. Being my first attempt at this, I learned quite a lot, some in the hard way, some in a softer manner. This post was immensely useful for myself and I really hope this may help others startng out on what to expect. Good luck to everyone!

PS: I’ve played now over 140 games in this competition. I’m completely and honestly in awe for some of you guys out there. I’ve seen so much creativity and talent in those games that it actually warms my heart. I sincerely hope all the best for all you guys!

Tags: , , ,


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]