LD31 Post Mortem – One Does Not Simply Walk into More Doors

2014 has been the year of many game jams (for me, relatively), and one consistent trend has been that each jam gets more and more chill than the last. LD31 is probably the most low-key, easy-going jam I’ve done to date. All the same, I’m quite pleased with our game, One Does Not Simply Walk Into More Doors.


Looking back on why this jam felt so relaxed,  I think most of it came down to experience and attitude and how that shaped our process. Also, figuring out a jam workflow between two designers who have different game-making tool preferences ended up being really efficient…

For the attitude part, I was on vacation visiting Adriel under strict orders from my boss to relax, so we knew up front that we wouldn’t be killing ourselves over this and that the intent was to just have fun and make a game together with very little pressure. Experience-wise, we had a lot of weaponry to wield. Besides just doing a bunch of other jams this year, it also marks 5 1/2 years of me working in the games industry. Adriel of course just wrapped up making a game a week for an entire year. Joonas is such an experienced sound designer that he whipped up all his sounds for our game in 45 minutes on the last day, because that’s how he rolls.  The experience thing comes into play not just in implementation, but in understanding scope control.

Process Observations

We spent a loooong time turning ideas over before picking one and actually getting started. When the theme was announced, we spent about an hour with general brainstorming, then slept (we were in CET). In the morning I spent several hours just making little prototypes of mechanics we’d discussed, and fleshing out logistics for some bigger ideas. We didn’t go anywhere with these ideas but it let us filter things out early before picking something and getting a good ways in before realizing the idea wasn’t great. (I should note that this first morning of prototypes was very focused and efficient because I didn’t have internet access for several hours)

A key was landing on an idea that we were both excited to explore. I feel like we each had a few that we were individually quite interested in, but were good about yielding when we saw the other person was a bit “meh” on them. It can be very easy, in a jam setting, to jump in on the first idea that springs up out of fear of time ticking away, but I really believe it’s worthwhile to give a lot of time in the idea phase before jumping in. Anyway, we eventually both were excited about this prospect of screen-wrap where you exited it at unpredictable locations, and ran with that.

We didn’t figure out the whole ghost theme thing until quite a ways in, though, and had a second brainstorming and idea hashing session midway through to try and work out what the character was, what these doors were, what the setting was, what you were trying to collect, etc. The ghost thing is pretty weird but it solved a bunch of problems for us (ghosts just go straight through doors so no need for a door open/close animation. And the doors fly around because it’s a haunted house. Logic! Ship it!)



I feel that it is important to re-iterate the low-stress nature of this jam. We both got plenty of sleep and took many breaks, and made sure to still devote a lot of time to my vacation (there were many hours spent just lazing and watching American Horror Story, and we took most of the last day to go on a Dutch food tour). When I say this was a low-key jam I really mean it.

Double Designer Workflow

Working with Adriel was interesting and different from pretty much any group jam I’ve ever done. We are both designers, but have different tools-of-choice when it comes to jams (I love Construct 2 for jamming whereas she is a Unity wizard), so one challenge was figuring out how we were going to divide our workflow. It would be trickier than just someone doing programming, someone doing art, etc.

In the end I think we came up with a system that worked really well. We decided the final game would be in Unity, and Adriel got started implementing systems we *knew* we were going to have (like the doors). Meanwhile, I jumped into Construct 2 and built a prototype to do some fast iteration on mechanics. By the time she had some baseline stuff implemented, I had tried a bunch of things in the prototype that she could play, and together we figured out what was going to be fun and what the overall game structure should be.

The Prototype
The Prototype

This initial process is what I think kept our scope waaaay down. We’d talked about a bunch of ideas for mechanics and features, but since I was slamming a prototype while she was setting up base functionality, we were able to see what the minimum necessary features were to make what felt like a complete game, and cut a bunch of stuff up front. Meanwhile there wasn’t that worrying sense of spending too much time on the prototype, because in that time work on the final game was still getting done.

Once Adriel started in on the heavy implementation, I spent most of my time making art and placeholder sounds, but there were still several times where I revisited the Construct 2 prototype and worked in there to solve design problems while Adriel was busy programming and working on game-feel-type-stuff. This was stuff like “okay, what does a good wave structure feel like? What things need to be taught and what is the order we should teach them? What are the one-off wave segments going to need to be before we get into standard waves?” This proved to be a good way for two designers to work in parallel. Meanwhile, there were still times when I could jump into Unity and help out on implementation as well (I was super jetlagged, so kept waking up stupid early. I’d spend several hours implementing stuff before Adriel got up and then passed things back off to her).

One-off state flow
One-off state flow

Figuring out this workflow for working with a teammate with a lot of overlapping skillsets may have been the most valuable thing I learned from the jam.

Observations about the game itself

  • I was really happy with the sort of frantic, vulnerable feel that we got in with the poor little ghost and the fact that you had to constantly be escaping through doors to stay alive.
  • We were both surprised and delighted with how much more depth Joonas’s sound effects gave to the personality of the game. He really made that little ghost come alive! (HAHAHAHA…ahem…hm)
  • The one little mechanic thing I wish we’d gotten in was a delay on input after you go through a door. We had this in the Construct 2 prototype and it helped you mentally remap which door you had just come out of before moving again, which helped prevent accidental movement into doom or into another door when you teleported. We didn’t have time to get that into the Unity version (someone suggested another way of getting this effect would be to just reset movement through the door so that you would have to lift your finger and press again to move)
  • Finding that kazoo music really solidified the tone of the whole game for us. I was just browsing through things and stumbled upon it, and couldn’t stop laughing. Then I showed it to Adriel and she couldn’t stop laughing either. The tune still gets stuck in my head sometimes.
  • Permadeath was a harsh choice, but we went with it anyway because Adriel wanted to explore that balance of challenge and frustration. I think the biggest challenge with this is getting someone back into the game quickly (someone suggested that after a certain score threshold, restarting would just throw you in at the standard wave part and skip all the intro. This sounds intriguing in theory but may have some problems in practice.)
  • Just a funny note, in the prototype I made the main enemy a random chompy monster, but after we picked the ghost theme for awhile it was a big dude with a pin running around trying to poke you. We were having some problems with the rotation of the sprite looking terrible, though, and realized that fixing it so it felt good via code or doing a bunch of animations for his facings would be time-consuming, so we went back to a chompy monster that looks okay when rotated (which I randomly colored the same as the candy. So she became mama candy, protecting her young). Adriel notes that this is a good example of picking your battles in a jam setting.


I enjoyed working on this jam immensely. Adriel is one of my closest friends and though we have had endless design conversations for months and months, this was the first time we actually made a game together, and so it is quite special to me. Having Joonas lend us his sound sorcery was also amazing, because he is one of my all-time favorite sound designers. I learned new insights about working with teammates who have overlapping skillsets. We made a game in a relaxed way that shows how jams don’t have to be about killing yourself to get something done. But overall I’m happy that this was a low-stress end to my year of jamming!