It’s been a while since we last updated the blog – life has a certain way of sneaking up on you when game dev isn’t your full-time job. So that’s what we want to talk about today.
Making a game is an incredibly powerful experience – there’s something special about building something for people to play with, which is entirely distinct from building something people use for work or for other purposes. The person playing your game wants to play it. They’re motivated. They show up. They cooperate with other players to build community. They compete with each other too. They find bugs, and sometimes exploit them to do absolutely insane things that you can never, ever even hope to anticipate as the game’s developer.
When you make a game, you’re essentially giving a bunch of passionate, talented, and slightly crazy people a toybox, and saying “go.”
The joy of building something for an audience like that can consume you. You find your idle time punctuated by a constant stream of creative thoughts – should I add that new mechanic? Tweak that level? Expand the plotline? And every now and then, your wandering mind strikes gold and the intoxicating force of inspiration keeps you up late into the night, distracts you at work, or makes you unwittingly skip a meal.
But at a certain point in any long-lived project, that fountain of creativity shuts off.
And then, to make it worse, we tell ourselves that it’s okay.
We say we don’t have the time to keep working on our game – work is too busy, life events need our focus instead. We criticize ourselves for lacking the discipline to finish, but secretly we know that working on our games with anything resembling “discipline” would probably suck the fun out of working on them. Where does the inspiration for writing out tickets in a task manager come from? Where’s the joy of creation in writing unit tests? Where’s the excitement in fixing that ONE. STUPID. BUG?
We’ve reached what I’ve started calling the “Chasm of Death.”
This is the place where most games die.
The emotions, skills, and motivations that brought us to this chasm will not get us past it. Our excitement about what our game could be has been dampened by an all-too-real understanding of what our game currently is, and the realization that there’s a hell of a lot of distance between those two states.
All too often, this is because we now have to do something unpleasant. But not just any unpleasant thing – after all, we’ve slain a number of bugs and recovered from many prior setbacks to get to this point. Now, we’re facing something so unpleasant that we’d rather just go back to where we were before this game, and forget the whole experiment. Rewrite the whole physics engine? Redo the entire story arc of the protagonist? Devise a brand new algorithm? Refactor the netcode? Throw out every level we’ve already built and build new ones?
These are Herculean tasks for anyone, but become especially daunting and scary if building this game isn’t your full-time job. If you have other responsibilities, hobbies, and desires, you’re instantly in a pit – it’s easy to justify spending free time making your game when it’s fun, but this? This?!
The Chasm of Death is where we found ourselves two years ago, shortly after we posted our first, super naïve and enthusiastic dev blog. For Jetsam’s level editor to work out – what we hoped to be its defining feature as a puzzle game – we had to build a level solver. To build that solver, we’d have to abstract away a lot of the game logic into something memory-light that would be usable in a giant, gory BFS algorithm meant to run on mobile phones. A scary task indeed. We just wanted to make puzzles.
So, we let the dream fizzle. An early version of the app sat on our phones, untouched, unloved, and basically forgotten.
Fast-forward two years, and I found myself getting drinks to catch up with a former coworker of mine (who I had shown some early builds of Jetsam). This coworker mentioned the game – she asked me if it was in the App Store yet, or how it was going.
Embarrassment and regret about the game’s then-current state stung me hard.
In that moment, Jetsam came back to life. I launched the app, and to my surprise it still worked (iOS updates had me worried). I handed my phone across the table and watched my former coworker play some of the demo levels. She really enjoyed them.
Instantly, a fire was re-lit. I called up my friend who had been helping with the game, and instructed him to clear his Thursday afternoons for the foreseeable future. Fortunately, he agreed.
I have certainly improved as a developer in the intervening years – as has my friend. So we approached our old problems with a totally fresh perspective, and an understanding that we wanted to get to a point where lots of people could play our game. We weren’t going to let a pesky level solver stand in the way.
Several weeks of work later, our lovable hero has gotten quite the facelift. We went crazy with particle effects, animations, and iconography. We’re also nearing final graphics for our levels, and currently assembling a playable beta of 11 levels to test our design and puzzlecraft with a wider audience (iOS TestFlight Beta signup form here). The first part of our level solver monster has been slain – and we’ll definitely be blogging about that soon.
Meanwhile, check out one of the newest levels we’ve added to the game’s first world! Swiping moves you indefinitely in the swipe’s direction until you hit something to stop. The goal of each level is to collect the gear and get to the exit before consuming all of your swipe fuel.
When all is said and done, we were really lucky that one person who cared gave us the spark that reignited Jetsam’s boosters. So we’d like to be “that person” for you.
If you have a “dead” game you want someone to look at – and we know you do – post about it in the comments! We’ll make sure to reply to everyone.
If you liked this blog post, follow us on Twitter and check back regularly here for updates. You won’t have to wait two years for the next one.