Making “Kitty Quest” – my submission for AdventureJam 2017

They say, “Never work with children or animals.” And that was indeed the phrase that instantly popped into mind when my wife responded to my question, “What do you think I should do for this year’s AdventureJam?” with, “Why not make a game about our cats?”

I couldn’t help myself, though. It was such a hilarious idea. Cats and the internet are always a winning combination; talking cats even moreso. And it fit right into the mindset I’d had since the first time I participated in AdventureJam, when it was called Point & Click Jam, that I wasn’t so much in this to win approval as I just wanted to do something batshit crazy and hopefully freak the judges out.

Cocaine-dealing squirrels oughta do the trick.

So, without really knowing how I was going to get my two cats to actually appear in the game, I set out to create Kitty Quest — a story more or less born out of a five-minute brainstorm with my wife about how our indoor rescue cat, Pemberton Flæsk Mis Mis Brunata Odenkirk (yes, that’s his name), wanted to escape the confines of our house on a warm summer day. His companion would be our other cat, Carlin Spinoza Bøffelsovs (also real name), who is an energetic but dopey Maine Coon cat.

It wasn’t a fully fleshed out story by any means. In fact, the escape part turned out to just be the first act of a (very small) two-act game. Escaping our house would then send them on a small adventure where they faced the horrors that lurk outdoors, eventually causing them to change their minds and head back home.

Capturing feline movement

The first thing we set out to do was photograph the cats. If you’re thinking, “How hard can that be?”, you’re either not a cat owner, or you’ve never tried to get your cat to do something on command.

Cats are not easily trainable, and we’ve never bothered training our cats to do anything except poop in their box and, for the most part, not jump on our kitchen counter or scratch the sofa. I’m pretty sure the only thing we’ve really successfully trained them to do is the poop thing; while they know full well we don’t like the jumping and scratching part, I’m pretty sure they do so when we’re not looking, anyway.

Luckily, they like to play. So, with my wife at floor level brandishing her SLR camera, I tried multiple times to get the cats to run across our living room floor, preferably facing sideways, by dangling a cat toy on a string at various ends of the room. Of the thousands of images she photographed, two or three of them turned out useful for making walkcycles.

I was wearing shorts, I swear!
Reach for the sky, boy!
The kitties are starting to find this exercise uninspiring.
Carlin caught the toy and now refuses to let go. Actors, man.
Pemberton receives praise for his work.

Making the walkcycles wasn’t too tricky. I just had to cut out the cats onto a transparent canvas and resize them so their heads were about the same size in every frame. Photoshop’s “quick selection” and “refine edge” tools were godsends in this — especially with Carlin, whose fur is really bushy and all over the place.

My wife underwent a similar treatment, but I didn’t have to dangle a string this time.

“Recreating” our house

I contemplated just taking pictures of our actual house, but decided against it. To make a more “adventure game friendly” room setup — one that wasn’t too cluttered with items that could potentially be interacted with (and would be tough to animate from a still photo) — I decided to go with a “Photoshop collage” type art style.

This is the same approach I’m using for Space Quest Historian: The Adventure Game. I basically start a blank canvas in Photoshop and draw in the lines of roughly where the floor, walls, and ceiling are. Then I start pulling in objects and textures from Google Images searches.

All the objects that appear/disappear are separate layers. These are made into transparent images and imported into the game separately.

You could argue that this is stealing. You could also argue that it’s an artistic reappropriation of existing materials in keeping with the concept of remix culture. I just call it an easy way out, and try to be a bit careful about who I’m ripping off. (Furniture catalogs? Cool. Artists’ work on DeviantArt? Not cool.)

This way, I could also include things in backgrounds we did not have, such as a big back yard with a huge tree or a fast food joint adjacent to our house.

Game mechanics

I decided to use this game as a sort of premiere of the user interface that’s going to be in Space Quest Historian: The Adventure Game. It’s a context sensitive multi-select interface that was graciously coded specifically for me by a man named Ben Ess, who goes by the name @CalicoReverie on Twitter. I’ll probably do a post later on explaining how this thing works, because it’s really quite amazing.

Suffice it to say, this meant I was able to do unique interactions for hotspots and characters. Instead of just having ubiquitous verbs like “look,” “push,” “talk,” etc., I could have “paw at,” “scratch,” “knock over,” and basically whatever I could think of. Only time with regards to how much content I wanted to put in was a real constraint in this matter.

Clicking on the radiator provides these unique verbs.

I also decided that there shouldn’t be any inventory puzzles in the game. Because, well, where are the cats going to keep objects? Cats can’t even pick up objects. Have you seen them bat around a bottle cap on the floor? Reminds me of that Eddie Izzard bit:

As human beings, we think ourselves pretty damn groovy. We do, because we have two things – we have communication… and we have thumbs. These are two things – communication, so we can say things like, “Well, I suppose so,” and thumbs so we can pick things up. Otherwise we just go (mimes pushing something around), like cats do. You know how cats do that with a little ball of something or other…? ‘Cause if cats had thumbs, they’d go… (mimes picking up ball and putting it down repeatedly) It’s not so much fun, is it?

But I did want the two cats to work together. So I decided that you should be able to switch between the two cats, effectively making this a multiple protagonist game. That may have had something to do with recently playing Thimbleweed Park and griping about how its multiple protagonist angle didn’t quite work; I’m not sure. I’m also not sure if I did it any better, but at least the two protagonists in my game have a shared common interest in solving the puzzles!

I did a quick GUI that let you switch between the two cats. This introduced an interesting bug in the game, though, which haunted me for quite some time. Whenever I told the game to switch protagonists, it wouldn’t put the other character in the correct room. Eventually I figured out it was a bug in the “smooth scrolling” plugin that Ben had helpfully installed into the multiverb template he’d made for me.

Maybe I should have these made as pins.

It also meant that, if I had a scrolling screen, the camera would only follow the first protagonist. If the player switched to the second protagonist and tried to get him to walk across a scrolling screen, the camera would stay put while the protagonist gleefully walked off the edge of the screen, never to be seen again.

I managed to track down the bit of code that forced the camera to center on the protagonist and, rather than trying to fix it or somehow extricate the scrolling screen plugin from the template, I opted to bite the bullet and just not have scrolling screens in the game at all. This at least allowed me to switch characters without the game acting up.k

Music and sound effects

The game needed some authentic meows. And I figured no one could accurately portray my kitties other than the kitties themselves.

So, one morning, when the kitties were feeling particularly frisky, I chased them around with my smartphone, mewling at them like an idiot, trying to get them to vocalize. Surprisingly, it worked.

I also recorded the sound of our bedroom door opening and closing (didn’t have to talk to it, though). For the rest of the sound effects, though, I relied on, an online repository of sound effects and field recordings that, I think, most developers know about and happily use. It’s quite a feeling to be able to search for “cat vomit” and actually get three or four choices of upchucking sounds.

When it came time to do the music, it was Thursday evening — with the deadline for the jam looming the very next day. I basically scrambled. I loaded up my music sequencer, loaded up a drum machine, a fake acoustic guitar VST, and a couple of string-sounding synthesizers, and just basically did all 9 tracks of the soundtrack from that template. Which is why you’ll maybe notice that the tracks all have the same sounds, just in various configurations. That took maybe a couple of hours.

The final touches – and we’re done!

Blurry-eyed and honestly a little sick of cats, I watched my computer’s system clock turn to midnight, then to 1 o’clock in the morning as I wrote the last incidental interactions. That’s why there aren’t a lot in the game, despite having a UI that allows for a multitude of interesting responses.

The last thing to go into the game was the credits. At this point, I just decided to throw up a couple of text boxes instead of doing anything fancy. “That’ll have to do,” I reasoned, as I compiled the game and sat down to do one last play-through.

I hooked the laptop up to the tv and pet my cat with my left hand as I guided his virtual avatar through his adventures outdoors for the last time.

Is the game done? A game is never done. There are probably a bunch of bugs in there that I didn’t catch myself. I didn’t have time to have anyone playtest it before release, so I’m sure you’ll come across one or two things that I didn’t think of. If you find any, please don’t hestitate to drop me a line (or just tweet me).

Gimme a fighting chance — rate the game

When you go to the game’s page, you’ll see this thing in the right column of the screen:

This isn’t mine. I had to screencap someone else’s.

Please click one of the fancy lightning bolts and give my game a rating. (A high rating would be nice, of course.) The more ratings the game has, the better chance it stands of one of the AdventureJam judges actually giving it a second glance.

I hope you enjoy Kitty Quest! It was fun to make, and I hope you have fun playing it!

1 Comment

  1. Xan Svanstrom says:

    Fucking brilliant! Thank you a thousand times over! Now I will be ever more sycophantic, praiseful, and hopefully, annoying in a delightfully uncomfortable way. So will my lovely hub/beau, who was already a (quiet) fan. You’ve got us on cats, particularly rescue cats. Plus, squirrels and cocaine!

    Your wife is beyond lovely, and I’ll leave it at that lest I delve into creepy territory.

    Just dl from GameJolt.

    Cool menu system; nice that you’re getting the code straight (see a couple paragraphs below).

    There is an educational game on AGS called A Cat’s Night Out (IIRC) that I’ve enjoyed but not finished yet.

    AdventureJam sounds daunting, considering I’ve broken nearly every (not all–nearly!) game I’ve made (whether that be AGS, Unity, or… ok… didn’t break the text adventures done on my uncle’s then ancient C64 in basic. They just all seemed to involve mazes and crystal caverns which is acceptable for a six year old.).

    Pemberton looks like a mix between our Thalia Morgan and Perregrin Merrimas. Carlin is similar to a cat we covet (neighbours have a bewilderingly groomed Maine Coon mix of the same colouring–so friendly). Ours are indoors.

    Anyway, cats deserve a thousand nice games. Will go entertain myself with what you’ve done now.

    PS – Gus photographed me walking and I subsequently drew a skeleton over that, animated it. There are prolly loads of guides online but if you lot want to see the results they’re at:

Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s