Time management is especially hard for solo game developers, because by definition we require ourselves to perform a wide variety of different tasks.
We're the game designer, the programmer, the artist, the musician, the writer, the marketer, the businessman, the webmaster, and the content creator all in one.
Here I'm going to describe 4 tips and tricks I use to help me maintain my focus.
1 - Minimize Your Distractions
The best way to minimize distractions is to turn all your notifications off.
When you hear or see a notification, your mind instantly switches gears to attend to it.
And since you can't ever know when a notification will go off, you are always susceptible to being distracted.
Whether it's Twitter, Discord, or even your e-mail, just turn them all off when it's time to work.
You'll want to dedicate a specific time in your day for checking all of the notifications that have accumulated and then dealing with all the important ones as quickly as possible.
Don't even give your attention to notifications that don't matter.
Notifications are just ways for app developers to keep your attention for as long as possible.
Are you familiar with the phrase "time is money?"
Every app developer wants your attention because the time you spend looking at their app sends money into their pockets (through targeted advertisements).
So every app developer has a financial incentive to keep you coming back to it.
Conversely, all the time you spend on other apps dealing with notifications is time that you're not spending working on your own product.
And because time is money, you're essentially paying someone else to be distracted.
Find a calm, quiet place to do your work, and maintain focus until you are done.
2 - Minimize Your Obligations
I've always had a bad habit of literally putting too much food on my plate.
I would load up my dinner plate with food, and I'd become full before I could eat the whole thing, and that food would have to be thrown away.
I've had similar experiences starting up many different projects, with the majority of them going unfinished and needing to throw away the majority of the work done on them.
It seems like on a subconscious level, I have a desire to do as many things as possible, even if I can't actually achieve them all.
And it is pretty clear that I am not the only person with this issue.
You might hear it called "shiny object syndrome", where you are constantly diverting your attention to the newest and shiniest object in the room.
Again, this is a matter of mastering your own attention span.
How often have you started up a project, gotten bored of it, and then started up another project at the same time?
And how often have both projects gone unfinished?
The truth is that we all only have the same 24 hours in a day.
Spreading yourself across multiple projects -- or just obligations in general -- will mentally wear you down.
You will be forced to switch between different modes of thought so often that you won't be able to focus on any one task.
One solution is to outsource the work you're not good at to a freelancer, which is highly recommended if you have the money.
Can’t afford to do that? Then use AI to achieve rapid results at a fraction of the cost.
If all else fails and you need to do the work yourself, then allocate your time such that you are only working on one type of task in a single day.
For example, take one day to only draw artwork, or take one day to only write code.
You should also apply this rule to other aspects of life:
take one day to only create content for your social media
take one day to only buy groceries and run errands
take one day to avoid doing any work at all (this is called the "weekend")
Organizing your tasks this way reduces the amount of context switching your brain needs to do and also increases the quality of the work you accomplish.
3 - Maximize Your Automations
One of my favorite ways to manage my time is by freeing up more of it.
As a software developer, I have the ability to write automations that allow me to perform hours of tedious work within seconds.
For example, don't rename or resize thousands of files by hand -- write a Python program to apply those changes to every file in those folders for you.
Always try to think outside the box on what you can automate.
You can set up automations using AI such as Stable Diffusion or ChatGPT to rapidly create AI-generated content.
I've even written an automation for checking multiple e-mail inboxes at the same time so that I don't have to bother navigating to each website and manually entering my credentials.
If you don't have these coding skills -- I'd suggest you learn them, because they're handy -- but you can always hire a freelancer or ask ChatGPT to generate an automation for you.
Actually, the act of outsourcing work to someone else is an automation, but with software, the cost of outsourcing it is zero, which means it can scale infinitely.
Sometimes automations aren't necessarily even written with code, but are simply systems you set up for yourself.
For example, my cat enjoys going outside, but I can't always be around the door to see when she wants to come in.
So I set up a security camera that faces the door, which I leave open on my second monitor while I work.
I don't need to leave my room to check the window or go down to the basement door in order to let her inside -- I can see her meowing at the door from the comfort of my workstation.
An ideal automation would be programming the door to automatically open, either when I press a button on my computer or when a camera sensor detects my cat's face, but in my opinion the cost of building such a system exceeds its usefulness.
Don't build automations just for the sake of it, but only when it truly saves you time.
4 - Maximize Your Planning
Always have a schedule.
Because I have a to-do list of work that needs to be done for my game, I can estimate how much time it will take and how I can plan those tasks into my daily work routine.
I sort the tasks by type (writing, code, art, etc.) and by priority (required for demo, required for full release, nice to have, etc.) which allows me to efficiently figure out when to work on each task.
As you plan out each task, you should note how long it actually took you to complete the task, so that in the future you have a better idea of how long it might take you to do the same thing again.
If you can calculate ahead of time that a task will take you many hours of tedious work, try to think if there is a way you can automate the process or otherwise reduce the time spent on it.
But you can't plan for everything -- you should also take advantage of unpredictable circumstances that may be outside of your control.
For example, if you lose electricity due to a storm, you won't be able to write code or post online, but you can still write or draw with a pencil and paper.
So if you reverse it, then whenever you have access to a computer, you should prioritize tasks that you can only do with a computer.
Don't brainstorm ideas when you're next to a computer -- you can do that when you're in the shower, or when you're driving your car to the grocery store.
Effective planning allows you to find time for things you didn’t even realize you had.
That's it!
Trust me, these all sound easy in theory, but can be difficult in practice.
I should be writing these articles in bulk on only one day a week, but so far I've still been writing them every Wednesday afternoon.
I force myself to sit down and write the entire article from start to finish -- usually taking me about an hour.
But it's an hour of uninterrupted focus -- in a quiet room with no notifications, with the single obligation of providing content to my readers.
If you enjoyed this article, please consider sharing it with someone who needs it.
Thanks for reading, and you can find more of my content here.