7 Lessons to Bootstrap an Indie Anything

Or how to make a video game very, very slowly.

One of a billion decisions it takes to make something.

First off, tl;dr at bottom if you are a busy bee. Otherwise…

This is written for people who drink the kool-aid and want to be fulfilled by their work. People who have dreams.

In my case, I have always wanted to be able to transport people into worlds and stories where they feel super duper. Where the average Joanne can take a moment after her shit day at work and feel like she is on a purposeful journey. Escapism at its finest. True immersive storytelling. I want to contribute to the remarkable next wave of interactive stories that will come with Magic Leap and other tech.

In short, I want to make games and the only way to learn that is to…

Make a game!

What is the simplest game I could make? How could I bootstrap something from nothing? It was May of 2014, I had just graduated with a degree in animation where I had made the mistake of biting off more than I could chew with my thesis film (the resulting film is a snoozefest). This time, I wanted to make one simple thing incredibly well.

So, I made the same mistake again and decided to pursue a story game embedded in a magical realism future where you solved a mystery on a train by separating from your soul and spying on two conversations at once.

…

This was obviously too ambitious.

I started making it anyways.

This is the critical nonsense advice that animates all self help books and sells Nike products. “Just do it.” And I don’t know what else to say other than starting is not the hard part. Finishing is the hard part. Everyone has started a novel. This is where I learned my first lesson.

Lesson 1: Find a friend.

So I called my friend Steve. Because I wrote one script in Ruby and it rocked and produced a chain of clues that were procedurally generated and I thought I had solved the whole game. But that isn’t how you make a game. The little nuggets of logic that drive a game are perhaps 2% of the end product, and I didn’t know how to connect the front to the back. I can do all kinds of art and write barely passable javascript but… game()? Steve had some (much) domain knowledge I was severely lacking and he came in as the programming muscle and trusted partner.

Steve has a CS degree and is working a job that is satisfying but he wanted to learn new skills on the side. I have an animation degree and I was working for an animation studio learning so much every day. Even when working at a top notch dream factory and contributing my ideas to the team, I still wasn’t scratching that itch of building and creating.

That itch is critical, and you need to find a friend who has enough of a similar itch to work with you for a long time.

This was in August of 2014. Steve set up our Git repo, I downloaded Xcode, and off we went. And it was very hard because I am a n00b.

Then came the decision to cut back on the concept. We started building and the train idea was just… insane. The amount of variables for two inexperienced devs was daunting and unrealistic. The feature list was hugely extensive, but we had made that small logic kernel. What could you do with a chain of interconnected clues?

If a is true, b is true.

If b is true, c is true.

If c is true, d is true.

Lesson 2: Study similar things.

If a is true, b is true: like a domino, two truths on one coin.

If b is true, c is true: another domino connected to the first one by one b.

Each truth appears twice on the board: they match like concentration.

Flip them like concentration: a sequence!

And then we studied, and combined, and thought back about what we loved about games that contained similar central mechanics. There are limits to human memory and focus that are built in to dominoes and concentration. They limit the number of variables the human brain has to process at once and imprint them as either discrete abstract variables or as representational elements. There are benefits to both of these techniques. You could put a time limit on the amount of time you get to remember the clues… A sequence of things you have to remember…

That is just basically Simon. Hmm. Simon is pretty great. But what sucked about Simon? Simon had fixed spatial relationships that limited the variables the developer could tweak to scale the game challenge and provide ongoing reward. The iOS versions of Simon failed to capture what a mobile platform could bring to the table…

On top of that, now that we knew we were in the memory game category, go ahead and open the app store and search for “memory” on the app store…

Unimpressed? Us too. This was a compass. This is the target, to be the top memory game on the app store.

We took all of this and we iterated for a year straight.

Because I was lucky enough to study alongside the incredible program run by Tracy Fullerton, I already knew lesson 3 although I had to relearn it countless times over during the past year.

Lesson 3: Follow the fun.

The images below show 12 iterations on the game over the last year, and although the concept didn’t change that much, what did change is that we tuned the game and the graphics so that the fun part of the game only became more fun. The symbols needed to be easy to memorize, and the scaling of the games challenge had to be delicate and balanced.

Every element should be working in harmony. Make a change, playtest, only keep it if the game is becoming more fun.

One entire year of my life: