36 hours without sleep, but I feel it was worth it. Even if the final polish for the game had to be done on my lunch break today. Those finishing touches were absolutely necessary, though.
I definitely learned a lesson about rapid prototyping during this jam. I have a tendency to obsess over having the “perfect” modular code. Everything has its place, everything must be clean, everything must be commented fully, highly decoupled, intuitive interfaces, etc.
Sometime around 2 am on Monday, I realized how little progress I’d made, and finally buckled down to just finish SOMETHING that was playable, coding conventions be damned. It turned into a giant knotted ball, object references scattered all willy-nilly, the bleating of sheep was deafening. Oh, the horror! The code was some of the worst I’ve ever done.
You know what? It was fun! I can definitely see the point of creating a prototype first as quickly as possible, ESPECIALLY for games; I got to get a feel for the game as I worked on it. “This isn’t as fun. This could be harder. Maybe that’s too hard.” Fail faster, as they say. Kind of like the “plug and chug” programming method, but with game design.
Unfortunately, we didn’t have time to implement a lot of our more lofty design ideas. There were supposed to be llamas. Random llamas, bursting out of the skin for no reason. And perhaps Grumpy Cat, because somehow that’d magically make us appeal to a larger demographic, right? Or something.
Dammit… no llamas, though. Not even a giant pink snake monster.
At least there was blood. And pus-filled ingrown hairs. And of course, random speech.
Next time I take a stab at a jam, I’ll make sure to put on my “fug’git” mantle earlier on in the game and just have fun with it rather than try to over-engineer every little thing. I got some good reusable components and code out of it, but that wasn’t really the point.
There was an obvious cost, though, to rushing it; bugs. So many bugs @_@ Not long after submission, I realized I’d used an older spritesheet for the hair wiggle/break, which I’m sure people can see, is the wrong size. I’m not sure if that falled under the “typo” category of bug or not. What do you guys think? Collision’s the same size, just a cosmetic fix. I think it probably qualifies. Curious to hear what other people think.
One thing I really wanted to get in was procedural, endless generation of the levels, but there simply wasn’t time. At the last minute, I just started throwing down hairs, blood, and pimples in ways I thought would be challenging to get to the gold.
I think it made the game a little more challenging than a random level would’ve, which is good, but I failed to realize another oversight; I wasn’t actually resetting the levels at game over (thanks for catching that, Jerad). A very LARGE issue that makes the game unplayable after you’ve finally exhausted the blood pools. The level definitely needs a reset. Don’t know how I could’ve missed that.
But again, I don’t know if that qualifies as “unbeatable,” so I don’t want to mess with it until I get some feedback on whether others think it’s OK to fix. Deadline has come and passed. I probably should have thought of these things before.
Oh well. I’m tired and was pretty much useless at work today… but man, I had a blast! I can’t believe I’d never done one of these before!
Of course, shameless plug: If you’re still reading this, you should play the game! Critique! Be harsh, I can take it; the next game will be even better 😉
A big thanks to the rest of the team! You guys were amazing, I really appreciate it!
Oh, and a word of forewarning: The stuff the tick spouts when it talks can be pretty explicit and potentially offensive; this is because a large number of entries in our word bank came from Cards Against Humanity. That said, I think you’ll know what to expect >.> (Yes, we’ve read the license; as long as we’re not selling anything and give credit, we’re free to use the content. Obviously, if we decide to try and make money on a future iteration, we’ll use a completely custom word bank of original content)
Artwork/animation by Cindy Nguyen!
Music and the speech generation engine done by Patrick Ryan.
Additional game design and brainstorming, Chris Berber!
And you have me to blame for the all the bugs.
I very much hope to work with these guys again for the next challenge!