You Only Get One: A Postmortem

Posted by (twitter: @laaph023)
December 23rd, 2013 2:20 pm

Warning:  SPOILERS!  You may want to play the game before reading this.

When I saw the potential theme “Beiber 4Evar <3”, I had worked out about 7 different game design, all involving one scene, in which you uppercut someone, and Justin Beiber’s cute face pops out, just like the “Toasty” in Mortal Kombat II.  In fact, no matter what game I did, no matter what the theme was, I had that planned.  I couldn’t not do it.  I’m sorry guys.

I had started this Ludum Dare with the idea I’d learn, or at least practice, the 2D engine for Unity.  Someone else suggested that you don’t write any code until you plan out your game.  I had a good game design (which I completely forget now), but I was really struggling with Unity – it was as if I completely forgot how to do anything with Unity.  Frustrated, I just tried making a sample program in which things fall, to verify that I hadn’t quite forgotten everything.  I had a ball, it fell, hit another ball, and bounced off.  Actually, it didn’t – it landed perfectly on top, and didn’t fall off, but if I off-centered it a little, it would fall off.  Okay.  It worked as expected.

I wrote a loop to fill out an array of pegs, and dropped a ball through them.  It worked like I expected.  And then I dumped a bunch of balls down there, and hey, you know, that’s a game, right? I put in a bucket to catch the balls, making it more of a game…  which did not follow the theme at all.  And more importantly, did not include the Beiber uppercut.

So I added a guy, who would introduce the game, and then I added options for what you did after each round, one of which would inevitably lead to a Beiber uppercut.  I wasn’t quite satisfied here – like in Mortal Kombat, I wanted that to lead to a secret level.  I had plans that you would have a minigame afterwards.

Somewhere along the line, I got the idea I’d like this to be a puzzle game.  I don’t remember when, it was when I still had the curtains from the “experimental” part and thought they should do something.  So I had a “man behind the curtain”, who would say things on mouseover.  The men would give hints, but more importantly, unlock the extra menu, which I also made unlockable by catching various amounts of balls (all the balls, none the balls, etc).

Cutting a long story short, I realized I followed a similar path as my “Adventure” game for the theme minimalism – I didn’t really know where I was starting, but I just kept going with it.  I would get various ideas, curse that I hadn’t written the code to support the ideas (the dialog trees are a huge mess of if/elses – the reason there isn’t more interesting things he says).  I made it a “puzzle game”, despite not looking like such, with a way to win, that I thought fit the game perfectly (despite some complaints that it did not).

What went right, what went wrong?  Well here are some interesting things that went right:

  • This game was fun to make.  I said that about the game I did for the Charity Game Jam as well.  I don’t know if I am putting my sense of humor in to games, or what.
  • I had planned to work with an artist, instead, I just ripped assets from  A++ will rip assets again.  :)  I’m sure you can tell the images that I drew and the art that I didn’t.
  • Not so wiggly pegsThe pegs wiggle.  For some reason, I got multiple comments on the pegs wiggling.  I wouldn’t have expected it to be such a popular feature.  I made the pegs wiggle because it was pretty easy to trap two balls between pegs and they’d be stuck, and more balls would stack on top of them, preventing all the balls from being catched or being registered as having passed the bucket.  It was much less likely, though possible, a ball would land perfectly on top of a peg, and balance perfectly, and not roll down one side or the other.  Wiggling fixed these issues.
  • People caught on to the puzzles. Not only that, people were looking for easter eggs everywhere.  I saw one player carefully move the mouse over every peg in the game.  People were trying to “mousefully” rub the master’s head.
  • The scoring system is much less evil than the last game I made.  Not only is it possible to get the perfect score, it’s really easy to do so.
  • If you find the Batcave, Batman gives you clues to win the game.  Despite the Batcave being impossibly hard to get to, many people figured it out how it works without his help.
  • By writing such a simple game, it gave me a lot of time for polishing the game.  For example, I spent at least an hour or two animating the “Laaph Puzzle Games” on the opening screen.  It was hard!  I was trying to get them to align correctly on the right side via algorithmic means, I wound up having a variable for where each one ends up instead!
  • The bugs that made it to the end of the compo were almost irrelevant.  Far more relevant was the text-not-fitting-in-the-box issues, and textboxes going to weird places on different resolutions.

What went wrong?

  • Getting to the Batcave requires doing something I don’t make much reference to in the game.  Well, I do – it’s just that if you never played Mortal Kombat II, then you probably aren’t going to figure it out.  It’s a little bit iconic, but not nearly iconic as the Konami code.
  • Games aren’t given much time by the judges and other players of Ludum Dare games.  What this means, is that I had some people who completely missed the point.  I got the comment “The goal of the game to collect as many of a certain color wasn’t very clear to me at first.”  This is not the goal at all.
  • The code is a nightmare.  The dialog is a huge mess of if/thens – if it weren’t so painful to add dialog, I would have written a lot more.
  • More nightmare code:  There is an object, that should behave a singleton, that behaves more like a global variable, that gets created at start and keeps track of your score and what curtains and other things should be saying. This meant that to test anything, I had to start from the opening scene, even if I wasn’t working on it.  I really should have made that object be created dynamically (like a singleton!) from a prefab rather than placed in the opening scene.  (And really, it’s just an empty object with a script on it.)
  • The resolution is a bit large for some monitors.  I would have thought 1024×768 fits on everyone’s screens but really no it doesn’t.

I also have a long list of things I’d like to do different

  • I really really wish that I had made the curtains pull back and someone would pop out, perhaps with speech bubbles, rather than the existing dialog box and green glow.  Not that I’m complaining – it’s just it could be so much more fun.
  • I would have liked more puzzles.  I mean, I had complete mini-games planned, and I feel that all I wrote was a single mini-game. This may have been overambitious.  Even so, Batman should say more than two things!  There really aren’t that many secrets in this game!
  • I had meant to “borrow” background music from  I do wish there was more sound.
  • I feel I should have put more hints on how to win the game, not just from Batman, due to the difficulty of getting to him.  Don’t get me wrong – this secret stays – but since not everyone has played MKII, you shouldn’t be required to find Batman.
  • I would have made more mouse interaction – as I said, someone tried to mouseover the master’s head – next time I’d make it so you can do it that way.

Where can I go with this?  I feel this game is the most likely to go to the October Challenge (well I never did put my Misunderstood Monkey through that challenge).  I find myself playing it occasionally, as catching balls is the perfect activity to do when it’s late and you don’t want to play a game but you want turn your brain off.  The current win condition does not lend itself to repeat play.  However, I don’t need to stick with that – and I really like the idea of a boring looking game on the surface with odd puzzles as you play about.

Thanks to everyone who played and rated my game!  If the master did not smile and tell you your fortune, maybe go play it again and see what he will tell you!

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]