Year 1: Lessons Learned Shipping 12 Small Indie Games in a Year

In 2021 I hadn't shipped any indie games in years. So in 2022 I set a New Year's resolution to ship 12 small but complete hobby indie games, one each month. With a full time job and kids this was an aggressive goal.

This month I hit my goal and shipped my 12th game. To my surprise one of them was even picked up as Official Selection in Out of Index Festival.

I wanted to share some lessons I learned in case it was helpful to anyone else:

WORK ON GAME DEVELOPMENT EVERY SINGLE DAY

Probably 80% of my ability to be so prolific this year is because of this one rule. David Whele who made The First Tree calls it "never have a zero day", and it's also shared by lots of successful authors. I found it very helpful to set a low bar of 15 minutes every day, no exceptions. If I missed a day, I made sure I didn't miss two days in a row.

This small goal helped because even if I was super unmotivated, tired and not starting until 11:45pm, I could still get in 15 minutes and call it a win. And what ends up happening most of the time is that I end up going for far longer, sometimes 2 or 3 hours in a day.

MANAGE NEGATIVE DEMOTIVATING THOUGHTS

I was surprised how many mental battles came along with this challenge. Within a coding session if I didn't get as much done as I had anticipated, I felt like a failure. "My only time to work on this today was wasted on this stupid bug that I didn't even fix".

This is frustrating but I learned to tell myself it still counts as a win because I put the time in. And if I keep going the next day, eventually progress will be made. This is easier said than done. Not every session is going to be a blowout success where you finish 5 features, that's just reality. Keep going tomorrow!

ENJOY YOUR GAMEDEV SESSIONS AND HAVE FUN NOW, TODAY

If you think to yourself, "Right now I'm suffering grinding it out and not enjoying myself, but one day I'll ship my game and it will be a big success, then I'll be happy," then you are doomed.

You can't delay your happiness to some point in the future. If you want to keep going long term then it's important to enjoy the process and have fun today. The victory and reward is not getting to the end - the reward is getting to sit down and work on your game today. That's the fun part and the part that should be celebrated.

Beyond this just being a more fun way to live, there's a lot of science behind this. There's a neuroscientist at Stanford named Andrew Huberman who talks about dopamine and how for anything that you want to excel at long term, it's important to attach the reward to the pursuit, not to the final reward. Otherwise you will eventually give up because it takes so long to get to the reward.

I found it really helped to have this present mentality. "I am a indie game developer today. I am living my dream today, right now. Sure I have plans for the future, but it won't get any better than this moment right here where I get to write this line of code, and that's awesome!"

GET STARTED QUICKLY WITH MICROTASKS

A "microtask" is my phrase for a tiny next step, no more than a few minutes of work. For example: "Make it so you can detect mouse clicks", "Make it so mouse click creates a GameObject", "Make it so the GameObject is a projectile".

Each night when I stopped I would leave myself a reminder and some microtasks of where I needed to pick up the next day. "You were working on the UIButton > Pause() function, next step is to make it so clicking it pauses the game." This helped me get going faster so I could make tangible progress in as little as 15 minutes.

BIAS TOWARDS SHIPPING

I tend to get caught up in wasting a lot of time around planning. Planning out the design, planning out the story, sharing on social media, etc. I can waste many hours on these things. But the most important thing is writing the code, fixing the bugs, and getting the game out the door. I found that focusing more on that and less on everything else helped me be prolific.

BE SPECIFIC ABOUT YOUR GOALS

There are many goals you can pick for indie game development. You might want to: make money, get lots of reviews and views and downloads, build a big team, make the games you loved playing as a kid, make innovative or original ideas, win awards, develop your skills and craft, work on everything yourself.

These are all really different and would result in different approaches. To figure out what I truly wanted, I asked myself lots of hypothetical questions: Imagine I made a Candy Crush clone that made a lot of money, would that make me happy? How about a game that I thought was beautiful but no one ever played it? What about a game that didn't make any money but won lots of awards? What if I was on a team of 50 people and worked on just a single part?

I found the answers to these hypotheticals helpful in setting what was my goal, and what were explicitly not my goals. For me personally I wanted to make things that were creatively interesting to me, work on things solo or in very small teams so I get better, and I explicitly did not care about making any money, but I do care about people seeing and liking my stuff. You will probably have other goals and that's great!

FOCUS ON THE PRESENT NEXT STEP, NOT THE FAR FUTURE

Another negative mentality aspect I sometimes found myself in is I would get really intimidated by seeing other indie games. "Wow, this team of people spent 6 years on this game...I will never be this good". I think that this is a distraction that can be very demotivating.

Instead I learned it's more useful to focus on the present and the next step for me personally: what is the next level I'm trying to get to? What is the next modest goal? For example, I had done 2D games for a few months, so my next goal was to do a 3D game. Not an incredible mind blowing 3D game that got 100,000 downloads - just a simple 3D game out the door. That's the next step. Thinking about anything beyond that is a waste of energy.

COLLABORATE WITH OTHERS TO GO EVEN FARTHER

Game development is a game of hours. More hours put into the game means a higher quality game. And the easiest way to boost the number of hours is to team up with other people.

I did several collab games this year and each one was a ton of fun. I got to work with Elliott Dahle and Cooper Welch, both amazing indie developers and great partners.

You feed off each other's energy.Collaborating can be a lot of fun but also comes with trade offs. If you're going from one to two or three people then you give up some creative control - you can't just do whatever you want, you all need to be aligned on a vision together. So it's important to talk at the very beginning what everyone is hoping to get out of the project. If you aren't aligned it can be frustrating.

Doing a retrospective, where you talk about what went well and what could be improved, is also a great way to learn from a project.

GOOD LUCK!

If you want to check out any of my tiny games, you can find them at https://pandamander.itch.io/

See this post on reddit