Tuesday, February 26, 2013

Garage Zombie* (Game Jam Version) Postmortem

Garage Zombie* (including the asterisk where it's possible to use one in game titles) is the first game jam title I ever made with someone aside from Angel who helps with design and massively supports me throughout the experiences. Ariel Marsh did every bit of the art herself, all I had to do was line things up and place them! It was also the first game that I've made that had a person instead of a critter!

And, since I'm setting this up like a standard postmortem, let's kick it off!

Code: Charlie Jackson (me!)
Art: Ariel Marsh
Design: Charlie Jackson, Ariel Marsh and Angelique Drummond

Developed: February 22nd-24th, 2013 for #1GAMCRUNCH (Hidden Surprises) and Mini-LD 40 (The Real World)

What Went Right

1. The Game's Art 
Somehow, the art for the main character made it really easy to add some personality to her  through the tutorial...

Normally for a game jam I make the basic art, get to work making the game, fix up the art and finally balance it as much as I can (which is usually very little by then.). This time, however, I collaborated with Ariel Marsh for development. She's a fantastic artist who I've worked with in the past on games, and as always she came through even better than expected!

The art in the game is not only of a great quality, it's bright and fits the game perfectly. With a garage sale, the items for sale are the star of the show, and they really are in this game as well. The main character worked out awesomely as well, it was just by chance that it ended up a she, but I love that it was (not because the game is about shopping, but because there really aren't enough female lead characters in games if you ask me!).
Some deals are likely to lose money, but you KNOW you want this thing!
2. An Awesome Title That Draws Attention
This is one of the main issues I face when coming up with a game name - making it both make sense AND draw eyes to the game. Early in development, Ariel Googled terms for people who do garage sales and found "Garage Zombie"! She joked that it should have an asterisk then say "*May or may not contain real zombies". This made it word-for-word into the game and gave the game a great base for humor from the start.
See? It even says it on the main menu!

And I KNOW the title works because I've already had numerous people jump on the game based on simply saying the name of it!

3. Working with Others Adds (Good) Pressure
Before it even began, I was really paranoid that Ariel would finish far before me, or that I wouldn't finish at all and she would. The nervousness of failure is always there with a game jam, but when working with someone else there's someone to let down if it happens. This was also Ariel's first game jam and I wanted to make sure she had something awesome to show for it.

Ariel had suggested getting on Skype (messaging) when it started so we could discuss ideas and then we simply left it on to chat the entire time, including sending each other work as we finished something up ("Check this out!", "How's this?"). Having someone you're working with frequently updated this way is not only fun, it adds to one's productivity: you want to have something awesome to show off!
Both of us having Flash made it super easy for me to set up art requests!

4. The Game Felt "Alive"!
One of my biggest issues as a game developer is that I get it functional and then I call it done. I've only made one "big" game, so while I've got about 25 done/partially done titles, they rarely contain all the things that a game should: sound and graphical effects especially. This time around, one of the first suggestions was having "special" items around the room that sparkle to show they're extra valuable or great money makers. It didn't make it in, but it really got me thinking about how to make it feel more alive, more fun.

She made an awesome main menu where you can interact with the boxes (they open when you mouse over them) and when items are purchased, they move toward the top where it shows how many items you've purchased (whereas 99% of the time previously, I'd just have made them disappear).

Box opens, box closes, box opens, box closes... WHEEEEE!!!!
Ariel even animated the girl with walk animations! It was her first time animating a character like that, and mine to that extent (even just the four frames in each direction!). It took some time to do, especially making her move around fluidly against the tables and such, but was very well worth it.

5. Sometimes Less is More...
When I started coding the game, the player lost $10 per day and the game's goal was to make some arbitrary amount. There was also a lose state if you you ran out of money. This was just a LOT of extra rules and effort in the long run, though, and deciding to make the game simpler (just gain as much as you can in five days) makes the game much more simple, easy to get into and replayable (trying to earn more each time)

I'll admit that I made the "game over" popup quickly :P
Also, the game originally allowed for two minutes per round, and I was considering adding to it even... But after trying different lengths of time, we went with 1:30. It makes the game much more hectic, non-stop and fun!

5b. ... Sometimes More is More!
On the flip side, I originally wanted the player to begin with $50 or $100, then as they played they'd earn enough to buy the more expensive things... I ended up going with $200 because it allowed for a good 10-20 purchases right from the beginning if the player shops carefully so that one can just dive right in right away.

6. Kept Track of Notes for the Future
I'm awful with thinking of the future when it comes to development... If I go back to a game, I have to search all over to find all the ideas I had for it, people's comments about it and so on. This time around, I have a text file with every idea for the game that didn't make it in, as well as an Evernote journal page for people's comments. I may have listed this last, but it's vital for any kind of future for a title if you want to stay sane, trust me.

What Went Wrong

I swear I almost fainted at this point. First thought? "Screw this, whatever!"

With about two hours left the game was shared a bit for bug testing. When a few were pointed out and I went to fix them, I clicked on the section of my code with all of the functions and it was blank. I thought maybe Flash had messed up, so I closed it and reopened it, but it was GONE!!!! Luckily, I had done very little work since I'd sent the file to Ariel to show her the latest version, so she was able to send it back to me. I was VERY close to having 800 lines of code gone forever, though, and it was only the first or second time in years that I didn't save the game under multiple names as I went "just in case."

My strategy, by the way, is to save with a new name every time the game is fully functional and changed. For example:

  • Garage Zombie
  • Garage Zombie Movement Fixed
  • Garage Zombie Added More Items

This assures that if something goes wrong, the file spontaneously explodes, or you COMPLETELY screw things up when trying to change something, you'll have a version to go back to :) It's not a new idea, and I certainly didn't invent it, but it's so insanely important that I just had to go in depth!

2. The Game Wasn't as Alive as it Could Have Been...
While the game does have quite a bit of life to it, the #1 complaint is that it has no sound whatsoever. Angel and I got to talking about it after the jam ended, and she came up with the genius idea to have the main character whistle as the music and make small little comments on items when they're viewed, as well as a little noise when purchased or not. I really think that would have given the game, and the character, a lot more life in a unique, fun way.

The game also could have used a way to mix it up - different locations, goals and a story primarily. All of these things would have kept the game more interesting while giving it some more life at the same time.

3. Other Missing Features
There were a LOT of features that the game didn't have in addition to sound, story, goals and additional locales. I won't go into them all here, partially to keep the surprise alive when the game is finished, but it's easy to see how they would have kept the game more entertaining and added a lot more play time to for the average player!

4. It Requires Mouse AND Keyboard
As a person who plays a lot of Flash games, I've gotten used to using the WASD keys with my left hand and the mouse with my right, so I didn't even consider that there are a LOT of people out there who don't! Angel pointed this one out to me when she first played it, telling me that she was having to get used to moving around with the arrow keys and then moving her hand over to the mouse to either buy or not buy an item, then go back to move again. It not only gets annoying I'm sure, it's also tiring and time consuming in a game where you don't have much time to decide or look around.

Why should I have to click you?! I don't have enough time for this!

It wouldn't be difficult at all to allow for pressing ESC to say "don't buy" and ENTER/SPACE to buy. The same is true of the main menu - it'd be super easy to allow the player to use the arrows and the SPACE/ENTER keys to select. This way, the mouse wouldn't be required at all!

No comments:

Post a Comment