Blog What I'm Working On: Ludum Dare #29: Beneath the Surface (Post Mortem)

coding sm

My son (9 year old Oscar) and I participated in our second Ludum Dare Game Jam, #29, and it was, once again, a really rewarding and insightful experience. (Click here to read about our first game jam).

As a refresher, the premise of the competition part of the Jam is to create a video game in 48 hours. By yourself. There is also a 72-hour Jam, which has slightly different rules (allows teams to work together, for example).

The theme for this event was “Beneath the Surface”.

Oscar used Scratch for developing his game (the new web-based version) and I used Flash, FDT, Citrus Engine, Illustrator, Photoshop, Audition, GarageBand, and Dragon Bones.

First, Take Aways

As with the last game jam, we learned a ton!

Oscar learned that you aren’t really done when you think you are done. This is especially true I think in any art of programming endeavor. There are bugs, refinements, and ways to make things smoother and more efficient. It’s a good lesson.

I also noticed Oscar having a bigger awareness of the things needed for a game to be playable – like a story, a clear goal, instructions. I love seeing how his knowledge is growing just from seeing others play his creation.

For me, I learned that it’s good to let go of the desire to have a unique idea, and instead focus on having a good idea. This may not be the case all the time, but starting with a good idea, and flushing it out seemed to lead to something pretty unique anyway.

This second gam jam continued to reinforce how awesome I think this approach to anything is: given a ridiculously short amount of time, we were able to create things that would probably feel much more daunting if we had wanted to make them over weeks or months of time. When you don’t have time to really think too much or second-guess design ideas, approaches to problems, or adding extra features or details, you just plow through and your mind seems to automatically prioritize the right things and in a pretty good order.

The Games

Oscar’s Game: Pixel Bat Attack (when you get there, click on the “Web” link)

My Game: The Vole Beneath (when you get there, click on the “Web” link)


Time Lapse

Oscar’s Game:

My Game:



We both dove in and started thinking of concepts. Oscar had an idea right away and started making his game within the first 20 minutes. I tried to follow the process I did last time, where I give myself 2 hours to come up with ideas, then sketch, and then start building a game.


That didn’t work out so well.

I generated a lot of ideas, but could really find one that connected with me. I think I was really putting myself under pressure to deliver something unique and different and nothing cliché and that really made it extra difficult. For us on the set coast, the competition started at 6pm on Friday and by the end of the night, I still had not chosen an idea.

And that added more stress and pressure to the situation.

But the time Oscar went to bed, he had about two solid hours of developing his game, which is great! I realized later that I should really follow his lead, and if I see that I am stuck, I should just dive in and start making something, anything, because this can sometimes really help to get me out of a stuck process.

I went to bed in hopes that my mind would figure something out magically by morning.

It didn’t.


On Saturday morning, I picked one idea and started to put it together to see where it would lead. The idea was that you control a magnet under the surface and there is a piece of metal on top that you have to get over obstacles and challenges to reach the final goal. I wasn’t sure what the goal was, or any of the other details, but I put together a rudimentary version of it.

Meanwhile, Oscar was cranking along. He had this cave explorer concept and some bats that shot acid already working. It was neat to see how quickly he had envisioned an idea and worked toward realizing it. He really gave himself no pressure and just enjoyed the process. Something I needed to remember!

Oscar recorded sounds using his voice and then found a little wooden squeaky bat (or bird) sound maker that worked perfect for his bat sounds.

We had a few things to juggle Saturday, and that added to the pressure because I knew we wouldn’t have a full day to work on things. I wasn’t feeling my prototype with the magnet and as we headed out the door, I told Oscar as much.

I told him that originally I had a different idea that I thought I liked but didn’t feel very unique – this gopher or mole or some animal that lives beneath the soil and bumps the ground to get a nut or something. I ditched it because it just felt too simple, and I figured everyone would be doing a game about being underground, so it wouldn’t be too original.

Oscar liked it. He immediately latched onto the idea that the nut could go in a hole for the mole to get. It all made sense!

After talking with Oscar about it, I realized that I should just shoot for something fun and playable. I realized that I was placing undo pressure on myself to create something original and unique when having anything done in this short amount of time is the real goal.

Thanks Oscar!

It was now Saturday night and I started to work on this new idea.


The deadline for the 48-hour competition is Sunday at 6pm. I dint know if I could get there, but I knew Oscar was finished so at least one of us would.

I was really excited now because I had a solid direction (thanks to Oscar) and had the beginnings of the concept working. A lot of my time was sunk into trying to figure out how to make the terrain move by bumping it from underneath. I not-so-quickly researched terrain generation code, different algorithms for drawing smooth lines through given points, ways of creating physics bodies that had angled edges. None of it seemed to work for me.

This is when I wish I had some knowledge of trigonometry. Or the ability to retain it.

I ended up really hacking together this approach where the terrain is actually a bunch of little blocks that I shift vertically, and that for any slice that I shift up, I shift its adjacent slices up a fraction of that so it creates a sort of jagged ramp.

It wasn’t pretty, but it sort of worked. But I wasn’t convinced. I wanted a really smooth surface for the ball to roll down so I got sucked in to searching again, trying to find some examples of the math I could use to create a smoother, rounded surface for each of these bumps. Dynamically.

So hours got sunk again trying things that didn’t work.

I finally gave up, stuck with my hacky solution and moved on.

I checked in with Oscar about submitting his game and if there was anything left he needed to do. I realized he didn’t have instructions or a story so I encouraged him to add those. And that’s when he realized he had some bugs.

Its hard to get a 9-year-old to shift from “I’m done” mode into “I have to add more stuff and fix bugs mode” but after some discussion (and convincing) Oscar dove back in to add a cool little story, instruction screen, and really persisted on tracking down and fixing the bugs that he found.

Go Oscar!

With an hour to spare, he submitted his game – he made the 48-hour deadline!

I would not. But that’s ok, because there is a 2-hour deadline (mainly for teams and with slightly different rules) and so I aimed for that and kept plugging away.

I jumped into artwork now. This was getting really fun. And with only a few hours I rushed through and created a vole (what? they’re cute!) and walnut and terrain. I really plowed through this all and got a lot done in a short amount of time.


The tricky part about missing the 48-hour deadline is that it means you have to finish things up on Monday. I had this cold that was also brewing over the weekend (probably due to stressing about the gam jam!) so it was not an idea situation on any front.

I continued to hone the artwork and animate the vole character. This was really fun and I got to learn how the Dragon Bones extension for Flash works. It let me create a bunch of parts for the vole and move them around to create different poses from those same parts. It really makes things efficient because instead of having a lot of different images for each frame of animation, you just have these few parts and a skeleton that animates under the surface (hey, that’s the theme for the jam!).

Once I got all those parts wired up in the game engine, I created the title screen, win and lose screens, and wanted to get some music and sound in.

I plucked a few strings on my guitar, added some background strings from GarageBand, made a rolling sound for the walnut, and wired those in too.

I really had intended to have multiple levels but just couldn’t squeeze that in.

I submitted my game to the Jam with minutes to spare!

Thanks for reading and dont forget to check out the games:

Oscar’s Game: Pixel Bat Attack (when you get there, click on the “Web” link)

My Game: The Vole Beneath (when you get there, click on the “Web” link)

Until the next game jam everyone!

11 Responses to “Ludum Dare #29: Beneath the Surface (Post Mortem)”