whirlicube
A company making a computer game.

A Year's Lessons from Solo Indie Development

It's a year since I quit my job to 'go indie' and attempt to write a game. Like many who try this, I've learned a lot, but I haven't produced the finished product I was aiming for.

Here are some of the lessons I have learned from this experience. I'm not sure if advice can ever truly stick until you experience it for yourself, but hopefully some of you will find this useful.

A Clear Vision

The most important thing you need when creating a game is a clear plan of what you are aiming for.

Concept Work is Not Game Development

I initially spent a lot of time away from the computer developing ideas. Ideas for characters, for environments, the geography of the world, enemy designs, the flow of the narrative. Designs for costumes, character profiles, mythology.

Frankly I think I was a little burnt out from my previous job, and needed the break from the computer.

I did a lot of work. But all that work didn't get me a game. When it came time to translate these ideas onto the screen, I struggled. They were too big to fit. My detailed character designs had to be simplified and simplified to remain distinct at the pixel sizes I needed, and I still wasn't happy.

You can spent lifetimes experimenting with concepts. It's definitely a useful process for it's own sake, flexing creative muscles and improving art and writing skills.

But it doesn't necessarily help you make a game.

What Happens On Screen?

For a game, it's what happens on screen, from moment to moment, that matters.

I struggled for a long time with the decision about whether to make a turn-based or real-time game.

People will suggest prototyping, and I've had sucess with this before. But prototyping is only useful if making the prototype is an order of magnitude less effort than making the finished product. For an indie developer without a full team to ramp up production, I'm not sure that this is always the case. Your prototypes would have to be very simple indeed.

One of my most productive periods has been the last two months, where I decided to work on a simple game with a fixed design - not to sell, but in order to cut the knot and get into the habit of finishing things.

Remove as many decisions as possible from your game making process. Be ruthless and pragmatic with yourself. Uncertainty about what the final game will look, sound, or play like is poison.

Write Exactly What You Need

This uncertainty about the shape of the finished product is also killer when it comes to writing code.

If you know exactly which systems you will need, you can write them.

If you think you might have to prototype a few different alternatives, then the instinct for a developer is going to be to write a general system that can be adapted to serve all the possibilities. This is a waste.

For example:

For many developers, used to working in situations where external requirements change frequently, this instict to develop systems that can 'cope' with arbitrary change is hard to overcome.

YAGNI. You Aren't Gonna Need It.

Keep It Simple

A lot of the most successful indie games are heavy on mechanics and light on writing - they use procedural generation, or dole their story out sparingly at gameplay milestones. They are more sandbox than rollercoaster.

Do Not Write an RPG

There is a reason that everyone tells you not to write an RPG as your first game. Writing an RPG is like taking on all of these jobs at once:

If you look at the concept work for an AAA game, there are people doing all of these disciplines and more. That's hundreds of people, and they aren't just lounging around in the office playing foosball.

It is impossible for one person to do the work of hundreds of people. You need to simplify.

A Dozen Choices is Enough

MMOs and modern AAA titles have trained us to think that games require hundreds or even thousands of skills, items, weapons, equipment, or other kinds of options to choose between.

But each new option you add exponentially increases the complexity of the game, as each adds new interactions with the existing choices. Each option requires artwork, a lore reason to exist, an appropriate place in the game at which to introduce it.

Many old games had just a few different units, a few different weapons, a few different enemies, or a few different skill branches. And yet they managed to reuse and recombine these elements to provide enough content for extensive campaign modes and storylines.

You just need to give the player something meaningful to do. If your game doesn't have that, it's not a game yet.

Stay in Peak Condition

Taking on a project like this is hard work. You will probably be working more hours than you would do in a full-time job.

You have to take care of yourself.

Get Out of the House

I have worked remotely before. I struggled with it. It had a big impact on my mental health. Even keeping set hours and having a dedicated 'work desk' didn't help very much.

You need to get out of the house. Go swimming in the morning. Go take your laptop and get a coffee. Hire a desk in a co-working space.

Something about the mental journey you take when you physically start the day and leave the house for work makes all the difference when it comes to both productivity and your mental state.

Being a solo developer can also be quite lonely. It's very easy to underestimate how important just having your coworkers around - even if you don't directly interact often - actually is. Try and maintain your friendships and your support network as you are working.

Hard Work Needs a Strong Body

In the last twelve weeks I have been seeing a personal trainer for the first time. It's made a big difference to my productivity:

Solo development is hard work. You wouldn't run a marathon without training for it. Your mind and your body need to be in peak condition if you're going to achieve what you want.

Don't Waste (Too Much) Time on your Weak Points

There's a myth about the auteur, a da Vinci-like character with a vision for every aspect of a project and a master of every skill.

To make a game solo does require programming, art, and music. So it seems that you should be trying to increase your skill in your weaker areas. If you're primarily an artist, you might take some coding courses. If you're a programmer, you might improve your art skills with life-drawing classes.

Some of that can be useful. You do need some skill in each area if you're doing everything yourself. But too much of this kind of self-improvement is a waste of time when it comes to the ultimate goal of making a game.

You'll certainly improve yourself. But you cannot match twenty years of art experience with a few weeks of study. You might end up basically re-training for a career path you'll never take.

Design a game that plays to your strengths. Make the game you are capable of making now, not the ideal game an ideal you would make.

Conclusion

'Going indie' can be an expensive learning experience.

This career break has cost me a lot of money, and although I can say I am better for it in a hundred ways - I've learned new skills, built technology I'm proud of, become fitter, and improved my mental health - I haven't managed to write a game, and I haven't made a single cent.

Having spent my budget, I am now weighing up my options. It might be that, having learned these lessons, I give it another few months with a new project. Or I might be job-hunting soon!

If you are considering trying this, I hope reading about my experience can help you use your time effectively.

Whirlicube Limited - SC467330 - 272 Bath Street, Glasgow, G2 4JR