A very porky post mortem.

After waking up to read the topic I went back to bed and thought about a few ideas in the small hours. “You only get one” – for some reason made me think of “24” or these cop shows where they have to get their man (or woman) in a certain time frame. There was an old ST game called “The Killing Cloud” by Konami that had a cool interrogation scene and I wanted to do something similar. So I borrowed another idea from an old (1988!!) ST game called Captain Blood which had a crude language interpreter.

What Went Right

It’s no secret that I particularly love doing silly sound FX and writing Music most of all for LD… which gets me thinking that maybe next time I’ll join a JAM group simply to do the music and FX. I’d decided to go for a Monty Python-esque graphic style and I’m actually quite pleased with how it turned out. I think I work faster this way than with pixel art, which I’m not very good at. (some of you people are mind-bogglingly good!)

I wanted a Python-meets-70s-UK-cop-show-The-Sweeney with plenty of silly phrases, (aka SHUT IT YOU SLAAAAG).

pm3

What Went Wrong

1. Don’t bite off more than you can chew

Implementing a language interpreter like Captain Blood turned out to be much more work than I anticipated! By the time I’d actually got it functional, I still needed to write the actual dialogs and knowledge for the suspects. There were originally meant to be 3 suspects and towards the deadline I was lucky to get the 2 finished! Sadly, the hints system conflicted with the actual results being said back to you which confused things rather than helping. I took out several words to make the game easier. There’s a ton of words that never got used! ;____; Also, I should’ve used 2 rows of icons like Captain Blood rather than the huge scroll-fest.

captainblood

Captain Blood 1988 Language Interpreter

pm2

LD 28 Language Interpreter

 2. Beware of Global Variables

scream

Horrible errors started appearing and the laguage interpreter wouldn’t appear properly… but only when restarting or loading a new level. D: I hunted for hours to find the problem… turns out it was in a Global Static class where data was being loaded into a Dictionary that was constantly held in game memory… but wasn’t being wiped between levels. Don’t be led to believe that Application.LoadLevel(…) will magically reset everything! These classes persist… and there was no good reason to make it global in the first place!

3. Use the Right Tool for the Right Job

You’d think for a 2D game I would’ve used Unity’s new Sprite system? Nope, I couldn’t be bothered reading up on it, so the character is actually implemented as a skeleton with textures attached to quads in the skeleton heirarchy!

pm1

 

On the Saturday I got round to watching a video tutorial on the new Unity Sprite system… and WOW… it would have solved so many issues from the start. As usual, the Unity documentation is a little bit sparse, but the power in there is incredible. The “intro” to the game is done using the sprite system once I’d figured out how it worked.

You can play the game here: WHO ATE ALL THE PIES ???

Comments

17. Dec 2013 · 11:21 UTC
Considering the scope of the idea you did amazingly well in the short period of time given. And you contributed a cool and unique game!
DustyStylus
17. Dec 2013 · 16:10 UTC
Thanks Gravedrinker! Loved your thrust game, one of my high rates games! Tricky and addictive!
DustyStylus
17. Dec 2013 · 16:11 UTC
Rates = Rated