At the start of December, I switched jobs to a new games company. While I really enjoyed being a lead programmer at my previous company, I found it difficult to combine both my leadership and programming responsibilities. I ended up feeling like I wasn’t doing my best work on either. My calendar often looked like Swiss cheese, with small meetings interspersed throughout my day. I’ve taken a step back on my leadership responsibilities now, so I can focus more on writing code.
But since my new job didn’t start for another six weeks, I decided to run an experiment on myself. I’ve always been curious about whether an 8-hour workday was actually optimal for me. Now that I had no boss to report to and no coworkers to keep in the loop, why not try cutting my work hours in half? My hope was that I would be able to achieve some kind of momentum on my personal project. I’m happy to report this was definitely the case and that I’ve learned a lot, more than can fit in a single blog post!
[This article was kindly sponsored by Winston, the productivity tool that helps you get better at Deep Work. If you want to increase your own productivity, use the code “MRHANDS” at checkout to save 20%!]
About my project
My game Up There They Love has been in production in some shape or form for almost three years now. While I had always intended for it to be a “forever project”, something that I could always return to when inspiration struck, it also felt kind of stuck in development hell. Games are meant to be played and I never got to the point where players could actually do that.
To explain it briefly, Up There They Love is an adult visual novel combined with a character management sim and a sexy card game. I designed all of the mechanics, programmed the whole game myself, and have done most of the writing. While friends have helped out over the years, this has always been a solo project. And yes, I’m building my own engine.
The state of the game in early December last year was that the character management sim had been (mostly) implemented already, but the visual novel had not received a lot of love and the card game was just an idea; it hadn’t been designed at all.
So now that I had some time between work assignments, I wanted to see how much I could get done on my game if I fully committed to it. Would I be able to implement the core loop of my game and finally get something playable?
In this three-part series, I will explain some of the strategies I employed during this period and how effective they were for my productivity.
This experiment did not form in a vacuum. I had recently read the book Make Time and I felt highly inspired to try it out. What makes this book so great is that it isn’t about applying One Neat Trick that will instantly fix your entire life but instead asks you to pick a few things that suit your style of working from a list of 80 different tactics.
There were a number of tips that I implemented immediately, but I also wanted to try out a few ideas of my own. Specifically, I wanted to see how far I could get by working very intensely on my game, but for only four hours a day.
I wanted to do all of my work between 8 AM and noon, have lunch, and then do something else for the rest of the day. The idea being that I could get a lot done on my game while also having more time for other activities that bring me joy, like lazily watching my shows on the couch.
I’m happy to report that this experiment was a resounding success. I was able to make incredible progress on my game while also streaming a season and a half of the brilliant superhero drama The Boys.
So how did I do all that?
Clearing the mornings
One of the recommendations from Make Time is to turn off all notifications on your phone and other devices except those that you explicitly want to be interrupted by. The default on your phone is to interrupt you whenever, it’s high time to challenge that notion!
I decided to turn off all notifications except Google Calendar (meetings), LoseIt (diet tracking reminders), and WhatsApp (family & friends). I also explicitly logged out of Twitter in the morning, which added some friction to wasting time on that website.
Next, I wanted to meticulously plan my mornings. I’m a morning person and get up at 6 AM every day, but I’m not always spending that time wisely. I decided to map out the two hours between 6 AM and 8 AM to an exact schedule:
I’m able to do this is that I don’t have any children, I no longer have a commute, and my wife likes to sleep in until at least 8:30 AM. I’m therefore able to perfectly control my schedule in the morning, which definitely makes me an outlier. So don’t feel bad if you cannot apply this type of schedule to your own mornings!
My morning routine acknowledges my Twitter addiction, but I also explicitly block out time for planning my day. This does not always work out perfectly, but it does give me a much better chance of having a productive day.
Slipping into hyperfocus
Even though I no longer had any teammates to interrupt me, I still blocked out the time between 8 AM and noon in my calendar every day for doing focused work. This ensured that I would be in the right headspace and allow me to focus on getting stuff done. I would clear the notification from my phone when I started working, which helped me to get in the groove.
I stuck to this schedule for six weeks while waiting for my new job to begin. And the main thing I found is that I had to unlearn a lot of bad habits. It turns out that a lot of time at work is usually spent on busywork! When I’m stuck on a problem at work, I tend to distract myself with e-mails or checking Twitter. But when your workday is only four hours, you really can’t afford to do that!
That’s why adding a bit of friction to Twitter was really useful. When I got stuck on a problem in one area, I would instead switch contexts to another area of my game. For example, I would work on the UI design when I was stuck on a coding problem and work on making temp art when I couldn’t figure out the game design.
Because I have ADHD, I find it very easy to slip into what the ADHD community calls “hyperfocus”. This is a mental state in which the whole world fades away and nothing becomes more important than the work in front of you. Getting into hyperfocus is in fact so easy for me to do that my main issue has always been getting out of this mental state. Setting a strict deadline helps with that: I can use my hyperfocus to get a lot done and I stop working when it’s time for lunch.
Unfortunately, I did not always follow my own advice. There were definitely days that I worked beyond my four-hour limit. And I just want to put it in writing: every time I did that was a mistake. I did not get more done and instead just made myself jittery and anxious for no good reason. Hyperfocus is an extremely tiring mental state, it’s not possible to sustain it for more than a few hours without a serious crash the next day.
What I got done
Working four hours a day for six week gave me 120 hours of time devoted to my game, or three full-time weeks. But I feel I got more done than that would imply.
Some of my accomplishments:
- All major gameplay systems implemented!
- Implemented card game prototype in the actual game
- Closed the gameplay loop from placement to night gameplay and back again
- Created new temp art for 2 / 3 characters
- Added code generation for widgets, screens, and Sass files
- Converted most CSS to use ABEM naming scheme
- Fixed not being able to use GifCam to capture footage
- Added base widget class that renders itself when internal state changes (future blog post material!)
- Converted all widgets and screens in the game to use new base class
- Added localization system and used it for all new screens in the game
- Perfected nightly build system using buildout
- Added animations to night gameplay and task outcome screens
It’s clear to me that I can get a lot done if I focus on reducing distractions and focus my efforts where it matters. Now that I’m gainfully employed again, I don’t think it will be acceptable for me to tell my boss that I would like to do all of my work in four hours yet get paid for eight. But I will definitely carry some of the learnings from this experiment with me.
What I intend to do now is roughly divide my workday in two: mornings are for focused work like coding and solving technical problems, while afternoons are for collaborative work like writing documentation and doing code reviews. But since I’ll be working from home in the foreseeable future, I will definitely be sticking to my morning routine!
In the next parts of this series, I will discuss how I figure out my task priorities and how I used public accountability to keep myself motivated.