About five months ago, I decided to quit my job as a mobile web developer. I knew that I needed a chance to see if I could make a living designing games. Shortly after quitting I found a partner and we began creating a game with me as the sole developer on the project. It was intimidating and terrifying to know that success and failure depended on you, but also it was exhilarating. During my time as a developer there's been a lot that I've learned, especially making this the first game I've ever released to the public. This is a letter to myself five months ago; the guy who sat at his desk at work, reading articles about game development and wishing he could be on the other side of it. Being the only developer on a game is one of the most difficult things I've ever done, and here's what I wish I'd known.
Tip #1: Track Your Time
It’s easy to forget how much you’re working on your project. All of a sudden I went from 40 hours a week of structured work to free-form, do-it-when-you-feel-like-it madness. Week after week I worried that I wasn't getting nearly as much work done as I could have in an office. In the back of my mind I knew it wasn't true; I knew I was working less overall yet much more efficiently. But I had no way to tell my brain that was true.
That's when I learned to track the time I was spending on my work. I've found Toggl to be a great free way to track my own time, since it allows me to set custom weekly reports to look at. The app also keeps going when you close the window, which is great for how often I accidentally do that. The most difficult part is training yourself to turn it on when you begin working and remember to turn it off afterwards. It automatically adds up the time for you too.
The best way to use time tracking for me was to shoot for a small goal first. I decided that 10 hours a week was a good benchmark. If I was at 5 hours by the middle of the week, I knew that I was on schedule, and any more or less I could adjust. Then, you can increase to 15, 20, however many hours you think you should be doing. This was invaluable because it allows you to keep sane and separate work from play. It's easy to tell yourself to keep working into the night when you have no idea how much you've been working all week. Time tracking allows you to justify the breaks you deserve instead of working yourself to death.
Tip #2: Write Down Everything Immediately
This is another habit that is useful not only in game development but really for your memory in general. It's important to make it as simple as possible to write things down or you may not do it. Another free app I use for my development is Trello, which is like a virtual corkboard. I always keep it open in a window when I'm developing so that when a bug comes up, I switch over and type it up quickly, and get back to developing with almost no time lost.
Google Calendar has also been a great tool for my development, since it allows for easy posting of events that are going on. This is another window I always have open, because the easier it is to write something down, the more likely you are to do it. I try to put as many events on my calendar as possible (Demos, Conferences, Dev Talks, Meetups, etc) even those which I don't have much interest in attending. You never know when you'll feel overworked and need to get out of the house for a while.
As a solo dev, there isn't always someone else around to remind you about issues that come up during development. Let technology fill in the holes that larger teams fill naturally.
Tip #3: Read Videogame News Sites and Take Note
Considering that you're here already reading this article, you might have this one covered. But it never hurts to reiterate. Solo development means that you won't always get much feedback from others; whether that's for design decisions, UI/UX, etc. Game developers have likely been working on the same design decisions for decades that you just started working on today. It's an industry of inspiration, so look to Star Fox 64 for flight mechanics, and Mario for platforming. It’s important to know what others in the industry are doing.
The same goes for the industry itself. Reading articles online is an easy way to feel connected to the developer community, particularly if you have a certain area you're working in. Personally, I make sure to read every VR article that comes up, because others are working on the same issues. And even "out of date" news, there are plenty of great guides all over the web to utilize for free. Which brings me to my next tip...
Tip #4: Keep Good Bookmarks
This tip is nearest and dearest to my heart, and it goes hand in hand with writing everything down. When you come across what seems to be a well-written guide or an article online, it’s easy to skim it and move on (at least, I'm guilty of this quite often). Do not do this. It’s better to not read the article right now and bookmark it for later, than to pretend to read it and say you did. You’ll thank yourself later when you're trying to figure out that specific problem and are racking your brain to remember where in the depths of the intertubes it was.
Along the same vein, I’m a compulsive bookmarker and have to spend time organizing bookmarks every once in a while. Which feels productive yet calming at the same time and reminds you of guides and sites you may have forgotten.
Tip #5: Invest in One Thing That Helps You Think
Or, at least one thing. It was hard to justify purchases when I quit my job, but this has been worth it. For me, this is a large, blank and unlined game dev book. It’s great for sketching UI design, working through an issue with the game, or brainstorming ideas. I also highly recommend personalizing it, mine is covered in game stickers.
Some other ideas include: giant notebook paper, modeling clay, expensive tea or coffee with a kitty mug, journal, digital sketch pad.
You know what works best for you. And if you don't, try something. I suggest that it should be portable if possible, so you can take it with you somewhere and sketch out new ideas or work through a programming problem.
Tip #6: Use Online Forums
This is simple for me because I develop in Unity and they have dedicated forums. If you don't have a specific game editor or just don't want to use their forums, there are lots of other game development forums out there. Similar to reading news sites, forums allow you to learn more about game dev on a more personal level and communicate issues. In addition, contributing to a forum is a great way to work through your own game design issues.
Another reason to have an internet presence on a forum is that you will feel more comfortable asking others for help when you have trouble yourself. And it's bound to happen eventually.
Tip #7: Go To Meetups [And Talk To Someone]
Perhaps this is more relevant to those who live in large cities, but if possible, attend meetups in your local area. But you also have to meet other developers; I'm definitely guilty of going to meetups and not talking to anyone. There are ways around it, find out what works best for you. For myself, I try to volunteer at events. If I'm forced to help and can't simply walk out, eventually I'll talk to someone. Maybe it doesn't sound as charitable as it could be but hey, it's a win-win.
Especially as a solo developer, talking to people at these events is how you can bounce your ideas off of others. As I said before, helping fellow devs with their problems is one way to work through design issues in your own projects and see it from different perspectives. Of course, it also gives you a chance to network and even demo your project.
Tip #8: Have Another Hobby
If you happen to have a lot more free time now, there is one thing that big-name game developers keep telling us: have hobbies outside of game development. It's the best way to stop thinking as a game developer, because game developers are usually not the ones playing your game. It also allows your subconscious to work on your game in the background. For me, being an indie dev has allowed me to get into cooking. It's a great way to take a break from game dev but also eat better meals.
Our game, Dragon Rider, will be out on Steam Early Access in November, made with a one-man dev team. So, here's to hoping everything goes well.