Cheesy Defender – Postmortem
The Goal
Let’s be honest. Entering my first Ludum Dare with what would forever become my “first game ever,” I wasn’t setting out to wow the masses, break new ground, or knock anything out of the park. I just wanted something that worked and was enjoyable.
The Process
I didn’t really have anything except Unity 5 and Adobe Cloud at my disposal, and knowing I had never created a game before, 48 hours wasn’t going to be much time. On top of that, my daughter had kept me up the night before, so Friday night work was out of the question. I knew I’d have to get sleep and start on Saturday morning. I would try to make the Compo deadline, but if I couldn’t, sticking to Compo rules and finishing within my own 48 hour window for the Jam would be just fine. A personal victory.
I love cheese and decided I’d do a simple defensive style game to protect my cheese. And what eats cheese? Rats. So, I started by creating assets. I took pictures in the yard and turned them into a simple 16 x 9 background. Grabbed some cheese from the fridge and crumbled it into a plate, took some pics, and created the protective goal asset. I Googled rat images for something to look at, pulled out the pen & tablet, and started drawing. After I had the main parts of the rat enemy created, I pulled them into Unity 5 and began setting up animations. That was the part of Unity that I had previously tinkered with, so I wanted to start with something familiar. Fairly soon, the rat could run, sniff the air, and stand idle. This was going to be easier than I imagined!
Nope.
I spent the entire day Saturday doing nothing but coding the rat. I started by setting up collision detection with the ground, triggering the sniff on impact, and transitioning into a run that took it off screen left. No destruction. Just collide with the ground, run off the screen, and fall for eternity. It was late, I was tired, and felt like I was way behind.
Sunday was where I learned the most. I picked paper airplane as my “unconventional weapon,” folded one, took pictures of it, and turned it into an asset. I knew deadline was approaching, so I had to take stock of all my ideas and boil them down to the most basic “must haves” and focus on those. Everything else would come only if time allowed. Which it didn’t. I overestimated what I thought I had learned about Unity from the 95 hours of tutorial videos I had previously watched. So, I spent most of the day cursing the gods and Googling “Unity how to…” every time I tried to implement anything. In the end, I got a spawner working, had the rats selecting which of three levels to run on, could pitch an airplane reasonably well, had particle effects, and had object cleanup. I knew I had missed the Compo deadline, but if I could finish up in the 4 hours after work on Monday, I’d achieve my personal 48 hour goal, simulating time I missed on Friday evening.
Monday was the final stretch. I mentally allocated what I had to have done in 30 minute increments within hour milestones. I started at 5pm tweaking things that I knew had to work better for me to be satisfied. I improved the plane throwing, although I knew it was still wrong. But I had to move on. There had to be a score, and a HUD, and more testing to balance the 10 levels of 20 second waves. I crammed and coded and Googled like a maniac. With just over an hour remaining, I grabbed my phone and started recording sounds. I exported those over, tried to attach them to my prefabs, and ended up on Google some more. I was adding sounds and tweaking wave timings right up until the 9pm Jam deadline. At that point, it was what it was.
Submission
When it was time to submit, I realized that I had never even tested the Web Player version of the game, as I’d been testing on Android for faster deployment. I also realized I had never really tried to build and host a Unity game. So, I spent the submission hour just trying to figure out what in the world I was supposed to do. I finished up at the very end of the submission hour, barely. Whew! I really didn’t plan far enough ahead for this thing!
Afterthoughts
Overall, I’m pleased. I got to add subtle effects, like rats running away with a bit of cheese off the ground–when I should have undoubtedly been coding something else–and running animations that speed up and slow down, and some funny sound effects. It is not the game I envisioned and has it’s issues, of course. There are tons of things I know need to be handled differently, or added, or tweaked. And the code is an awful, cobbled mess. That’s what happens when you can’t get something to work the “right” way, and have to let it “just work” for now. But, it works. And I enjoy playing it. Goal achieved.
I hope you guys enjoy playing Cheesy Defender too! Even if it is a little cheesy… 😉

“I didn’t really have anything except Unity 5 and Adobe Cloud at my disposal”
‘I only had one of the most popular and easy to use game engines and the complete suite of industry standard content creation applications to work with’ 😉