Sunday, January 27, 2013

Escape from the Afterlife: Game Jam Postmortem

Before I say anything, you really should try the game out! Even if you only play it for a couple minutes, it'll give you a great feel for the game and what happened with it. Play Escape from the Afterlife here!

This weekend (January 25-27) was the #1GAMCRUNCH - a 48 hour game development challenge. The theme was golden gun/1 hit point. I admit that Escape from the Afterlife really didn't fit the theme very well... I was actually joking in the #1GAM IRC channel about 1HP being a goal instead of a limitation, and then it becoming like golf - the lower the HP, the better... And THEN it became "A ghost would LOVE to have 1HP because it'd mean they're alive again, since a non-living thing should technically have 0 or negative HP, even if games don't play it that way!"

So that's how 1HP fits into the game. Since it takes a whole paragraph to explain that, I think it's safe to say it really doesn't fit the theme too well...

What Went Right

1. Testing from Fellow Developers on Twitter
I love having people test my games, but typically what I get is "it's great!" or "not bad", etc. I DO love to hear compliments, trust me, it's like fuel that keeps me going! But this time especially, the game is FIFTY floors! Seriously! When I hit the point that it would be fully playable, there were less than 6 hours left in the jam and I still had to add a few things before it ended, as well as add as much icing to the cake as I could after that! "It's fun" wouldn't cut it, nor would testing it all myself...

Several people jumped right on the game and played it for me, letting me know what they thought, giving some great feedback and ideas and compliments for the game, as well as letting me know specific stats about where they ended up ("I have $2,000, 15 of this item, 12 of that one, this max courage on this floor", for example). This made it SO much easier to try to balance things out than trying to do it myself!

In fact, I'm going to list them right here! A big, huge thanks to these people!!!

@DarkestKale
@IndieGameHQ
@DreamWinterLab
@Playvue (who also hosted the jam!)
@Sara_coisa
@HollowSpecter
@chris_killabi
@Paddyzab
@MLautz
@CaffeineViking
@SudoRossy


2. Coding, WHEW!
Coding a new game ALWAYS scares me because there's a very long point where you can't run the game at all to start testing. Once a foundation is set, you can easily change things and test it, or add a new feature and test it, but at the beginning you're stuck waiting until enough foundation is complete to do so. I end up coding hundreds of lines of code, making all sorts of functions that work from different places, linking together, responding to one another, etc... And then when it's time to hit "Test Movie" (I use Flash)... Either it's crash and burn time, or it's "WHEW!" time...

In this case, I didn't even hit that stage until almost 24 hours into the jam (a 48 hour jam!!!!). I had about 500 lines of code total... And... It didn't work. Anyone who's a coder will know that's not a surprise at all, but it's still always sad. Luckily, it took less than an hour or so of fiddling around to make it work! Once that happened, most everything else added in quite easily code-wise, which is very unlike a jam for me!

Oh, and: I'd never made any sort of RPG before!


3. Graphics Weren't Too Shabby!
So, I spent the first... 4-5 hours coming up with an idea and making the menus... Normally I throw together a cheap, quick menu and call it done, but this time I wanted to make it something special. I had a game idea within an hour, and pretty much all of the details (and blog posts) within another hour or two... But it wasn't for another 2 hours or so that I managed to finish the menus! Why?

I later added a mute button to the bottom-right, once I realized I actually had time to add some sound!
That's why! It's easily one of the best menus I've ever made, and to have made it in such a short amount of time was pretty sweet to me! I'm not much of an artist, and I'd already made that ghost before, but the flashlight and making the menu interactive like this was very new. Yes, I realize the actual flashlight isn't great, but that beam of light was a "WHOA!" moment for me... Those of you who are artists are probably reading this and thinking "Pffft, whatever", but that was AMAZING to me!!!

Also, here's a lesson I keep learning over and over, and contradicts most everything anyone will ever tell you about making games... GETTING GOOD GRAPHICS INTO THE GAME EARLY IS VITAL!!!! SERIOUSLY!!! I started off with bad art and felt like my game was awful... But once I added more, spiffied things up a bit... It suddenly felt like a GAME! I was proud to be its creator! It inspired me to keep going and really energized me!


4. Random Level Layout
Note: Shop button was removed from final version, max courage was added and graphics were changed a bit in the final version. Each square is randomly selected as a type by percentage, and then the specific type of that type is selected by percentage as well! For example: On level 6, there's a 4% chance of finding an item; if it's an item, there's then a 70% chance that item will be a level 1 healing item, a 30% chance it's a level 2 healing item.

When I came up with the game idea, I KNEW I'd have to go the route of random levels... Heck, I wanted FIFTY LEVELS and all... And while I'd never done any sort of random levels before, and knew it'd take a LOT of crazy number jumbling to try to make it work right, Evolutionator (my August 2012 Ludum Dare game) taught me that personally coding each area in 48 hours AFTER MAKING THE ENGINE TOO is just absurd. I had about an hour to test that game out, and while it wasn't bad, it was very easy to make that game far too simple or far too difficult without the right upgrades.

While the game still needs tweaking for sure, I'm very happy to have 50 levels that work out pretty well and takes about an hour or two to fully play (and is easy to get sucked into) from about 35-ish hours of work!! Especially as opposed to Evolutionator, that ended up as maybe 10 minutes of play...


5. I Finished the Game! There's Even Music!!!
Out of about 25 games that I've made, no more than 5 have any sort of sound in them, and I've never, ever gotten music into a jam game before! I managed to get a LOT of what I wanted into the game, and it ended up being really fun to me (I'm always surprised when a game I make is actually fun to me!)

Plus, when it comes to game jams/compos/etc, just finishing ANYTHING is an achievement!!!


What Went Wrong

1. I Bit Off Too Much, Sorta...
Story is one of the main elements I wanted to integrate a lot more of, but all that I had time for was a little bit in the tutorial before the game.

Every time I do a game jam, there are three primary thoughts that cross my mind: come up with something unique, come up with something I can actually accomplish and COME UP WITH SOMETHING THAT WON'T END UP AS ANOTHER FUTURE PROJECT!!!

While the game was certainly finished - it has a sweet menu, a beginning, a long middle and an end - there are a few things I didn't get to integrate. For example, I came up with a list of artifacts to find (items that would only be found once in the game, then would give bonuses or change the game a bit). I actually listed all of them in another blog post, so I won't detail it all again here. There are also no sound effects, which would have gone nicely with the simple background music I managed to find.

But most importantly of all, I really wanted to get more story into the game. Who, or what, was this ghost before death? Why is leaving the afterlife so important suddenly (it's not a bad place, after all...)? If you beat the game, you'll get a few more hints, but they end up leading to more questions than answers! I really want to place collectible items throughout the game that somehow help bring memories about, so that the player (and the ghost!) can learn the truth.

It all boils down to this, though: Now there's another game that I REALLY want to continue and add more to!


2. Randomly-Generated Balancing
Balancing random levels is crazy! I'm sure that most games that do random generation use a much more wild formula, but in this one it seriously all comes down to "pick a number 1-100". Enemy stats, purchase prices, treasure finds, flashlight powers, etc all really make a HUGE difference when edited, it's amazing how vital numbers are in an RPG! This was the closest I ever came to making one, and now I know that...


3. Too Much Caffeine/Not Enough Sleep?
I have NO idea why I ended up shaky, with burning eyes and completely exhausted by 2pm today, but I sure did! I slept a good 6 hours last night and 8 the night before... I didn't go too overboard with caffeine, although I did drink a bit extra yesterday... Maybe it's just mental exhaustion, I have no idea... But I'm VERY happy that things were so close to done coming into this final day, I was working at about 20-50% strength all day...


4. No SFX
A game based in any kind of darkness/horror, even a very light amount like I was aiming for, needs music. I know that now... The second I started considering adding music in the last two hours, and especially once I heard it in the game, I realized just how vital it is. Unfortunately, just as I was getting excited about what kinds of sounds to use, I realized there was no way I'd find and code in SFX with 45 minutes left...


5. Off-Theme
If this were a Ludum Dare, or any other judged competition, instead of just a jam, this would have been a bigger deal... Like I said, the game really doesn't conform to the themes without a bit of explaining, and even then it's a bit of a cop-out, but once I got into joking about the concept I realized just how badly I wanted to make this game, so I did!










No comments:

Post a Comment