|
[This is a repost from my blog, doolwind.com]
Now that I’m officially a full-time indie game developer, for the first time in my life I am working from home full-time on games.
Many of my game developer friends have also started working full-time from home in the past few months, partly because of all the game studios shutting down in our city recently.
Working from home has its own set of unique challenges that aren’t initially obvious. Today’s entry is a list of tips I use to be as productive as I can while striking a good work-life balance.
The biggest complaint I hear (and face) from working full-time at home is the fact you're “always on”. Unlike trudging off to work for 8-12 hours per day where there is a definite line between work and home, the line is blurred. This list is mainly ways I go about emulating that distinct line between working and relaxing.
Kill Switch
The best way I can shift my mind from work to relaxation is what I call a “kill switch”. Some activity that completely resets your brain, clears out everything you’ve been thinking about and lets you get into the relaxation zone (rather than the work “zone”). For me this kill switch is Company of Heroes (CoH).
As soon as I finish for the day, I have a game of CoH and everything I was thinking about is blocked out. I put 100% of my concentration into playing the game and come out the other end with a clear head ready to relax for the evening. For other people this kill switch comes in the form of WoW. After a hard day they sit and relax, focussing their mind on Azeroth to help forget the stresses of the day.
Whatever the game or activity the important purpose is to put a barrier between work and “not work”. Many people already have this activity they perform, but don’t consciously do it at the end of the day to form a barrier. It becomes a routine and lets your brain form the habit of switching off after the activity is complete.
As game developers, the bonus of this kill switch being a game is that it forces me to actually play a game (even if it’s just one). One of the most noticeable differences in my life since becoming a game developer is that I play a lot less games. I believe it’s vital for game developers to play games to keep a view on the gaming landscape as it changes from year to year. It’s also important to see our craft from the other side, as a gamer.
Working Area
The second important way of differentiating my time is having a separate area that is used only for work. In the current age, this can be quite difficult as often the computer is the centre of both work and entertainment. By keeping my working area separate from everything else at home there is a definitive area that is my work station. I pretend like I’m “heading to the office” when I walk over to my desk and when I’m here, it’s all business.
I find my iPad is a great way for me to be connected while not “working”. Rather than sitting at my computer surfing the web or sending personal emails, I’ll sit on the couch with my iPad on my lap.
Laptops are also perfect ways of physically relocating to be outside of my work area. If I need a computer for something personal, I’ll take my laptop and sit on the couch. It may seem silly, but this small difference is enough for me to not feel like I’m working.
Set Standard Hours
This is an easy one. I’ve found a lot of Indie friends begin working sporadic hours when they start working from home. While its great fun to stay up until 3am getting that last task finished I’ve found it has a detrimental effect in the long run. I like to get 10 hours of work into a day and so I set myself a start and end time.
I begin work around 6am and finish at 4pm. I’ll set my status to “do not disturb” and I’ll work through as solidly as I can. One important key is that if something comes up that interrupts me, I don’t count that time towards my day. So if something takes my attention for an hour, then I at it to the end of the day and finish at 5pm. After a few days of working 6am-7pm I quickly realised the importance of cutting out interruptions.
Whether you want to be as strict as that or not, the key is keeping consistent working hours that are sustainable for a long period. Software development is a marathon, not a sprint and it’s important to schedule your day to fit this. If you find you’re burning out after a few days or weeks then look at adjusting your work hours to better fit the long-haul.
Write Everything Down
“Getting Things Done” is a great book that I’ve spoken about countless times in the past. I recommend it for everyone, particularly those working from home. It helps you to become more productive and sort your life out. The main key I get from this is that I make lists for everything. As soon as I think of something, particularly if it’s outside of “work hours” I write it down, set a reminder in outlook for the next day and don’t think about it again. If I am laying in bed and something pops into my head I’ll add it to my to-do list and then forget about it.
Email Separation
This is another easy one. I like to make sure I can’t get work emails during non-work time. This is easy when working in an office as when you’re away from your desk you usually can’t access your email. It’s important to set up a similar barrier when working from home, much like the physical workspace.
I set up different rules on my iPhone so I don’t get push notifications for work emails. If I’m at my desk working it’ll arrive in my inbox but if I’m out for the evening I won’t be distracted by it. There’s nothing worse than getting an email you need to act upon, or that has bad news in it when you’ve finished working for the day. This is particularly important when working with overseas publishers or customers with emails coming in at all hours.
Conclusion
Do you have any other tips for working from home on indie games? Whether working full-time or part-time at home, how do you go about keeping a good work-life balance?
|
Thanks for the great article. It's pretty clear that following this advice will lead to better balance between work and free time.
Most importantly, setting a consistent, reasonable bedtime helps prepare you for a more productive day.
One thing that works for me is going to a place with no internet. Being unable to use the web makes me more productive. I haven't got any wi-fi in my appartment so taking the laptop into the livingroom or kitchen works well for me. If I really need to use the net I can always take the laptop to my desk and plug in for a short amount of time.
What I've done instead is look into options for keeping myself off of distracting parts of the internet during "work hours". The application I use is a Google Chrome extension called "Chrome Nanny" which lets you blacklist certain websites at specific times of day. I use it to block out Google Reader, Gamasutra (I can waste a lot of time reading articles here), etc, and I've found I waste a LOT less time as a result. Other tools like Freedom or RescueTime might be better suited to your needs.
Now, of course, anything like this is easily circumvented if you REALLY want to, but the point isn't to replace willpower. The point is to put a roadblock in front of your ingrained habits so that you CAN use willpower instead of doing what I did and browse the internet on autopilot when I don't want to work... something I'd do without even thinking about it! Being able to force myself off autopilot and make time wasting a conscious decision was quite helpful.
To keep my work organized, I use a wiki (dokuwiki) and issue tracker (flyspray). They are private and only I have access, but it is a real motivation to see the completion bar rise when I check of tasks. I need the issue tracker because there are million small tasks that I put off because they are not important enough to do immediately. So I file a issue and do it when there are no tasks with higher priority/severity.
While working full-time for a game company I used to do the same. Squeezing in a few hours here and there. I found even then that having a routine was important to being productive
Also...nice choice of Homer Simpson pic...
A lot of these good habits were formed thanks to the project manager I had back at Auran. He guaranteed us no overtime (as the rest of the company was doing) so long as we gave him a solid 8 hour day with no internet or stuffing around from 9-5. This was hard to do at first, but after getting into the habit, it's something I still manage to achieve 6 years later.
Working from home takes discipline and it's not for everyone. But it can be very rewarding if you do it right. Hopefully I can find myself working from home again! :)
A number of friends also follow your strategy of having a routine in the morning. Some go to the length of wearing actual business type clothes to get in the mindset.
I definitely recognize many of these challenges, particularly carving out time and space to work, and especially if having to balance that with other work and time/space with family.
I'm going to offer a couple suggestions, and this comes only from a nighttime/weekend indie (similar to Sean Farrell's situation) who often thinks about how to improve on issues of time management, self-organization, and general solo game development. Take it with a grain of salt.
In terms of motivation, you want to make sure you've got some bases covered. Yes, I'm going to frame this as a design problem (and who am I kidding? I treat all problems as such). Along with your own philosophy and personal motivation, you want to make sure you have three things going for you: Competency, Autonomy and Relatedness. IMHO, this means:
Competency: Make sure what you've got to do to get your game out, including marketing and continued support, falls in line with the things you want to do and gain mastery of, at least in some measure. For this task, this may sound like a done deal, but carefully analyze the broad tasks necessary in total, to make sure any tasks you do not want to master are going to be delegated to someone who does.
Autonomy: Make sure you have the opportunity, information and resources to do what you want to do. Again, being on your own makes this appear no problem, but try to identify the ways in which you do not have control. Those may be areas to gain control, delegate to trusted folks who can control, or you may simply acknowledge that you can't control it, which itself is a type of autonomy if you make it as part of your overall plan.
Relatedness: For anyone working solo, this may be the one that proves the most difficult. Relate what you're doing to others for now and into the future. In other words, how does what you're doing (even the details of your work) connect you to others, how does it impact others, how do you respond to others, what ways can you receive from others, etc. There is a strong motivating factor in simply making a connection to your customers, other developers (as you're doing here now), publishers, etc., including starting a conversation, interacting, learning, mentoring, and fostering relatedness between those you connect to.
There are numerous ways in which these factors could be addressed, and this is by no means an authoritative or exhaustive list of factors that can impact your process of game development as an indie. The important thing seems to be to find the right triggers that make the most impact for you and highlight those. This may or may not be all that new to you or others, but it might help to review what you've got going for you and how to improve your situation; how to position and align things in your life to help.
Very good luck to you, keep us informed and Have Fun! :)
We generally have weekly sprints where I'll send out a build to the team to force me to go through the "release process" for our game, creating separate builds for iPhone, iPad and web.
At the beginning of the project we had a burn down chart which let us see where we were within the current sprint and project as a whole, however since release everything has become a little more ad hoc. I've begun prototyping our new games while the others work on the first update to Flick Buddies.
That does not mean that I do not implement the agile practices. On the technical side I have test driven development. I bundle a version every month (32 man hours for me) with no half features and fully "polished" that I hand of to my testers for review.
I chose what to do by what is the biggest problem. (The top issue on the issue tracker.) This has the deficiency that I don't know when I am done, but at least I am working on what makes the biggest impact on the project.
And... I start returning emails and my work day begins until my wife comes home and it's full stop. Wife deserves full attention and if i don't give it to her some other lucky bastard will.
I think another thing to keep in mind is balance. Don't get angry at yourself if you don't manage to put in the hours. Sometimes life just gets in the way. If you're serious about dev, you'll make up the time anyway, so don't beat yourself up if you have to take a sick day or deal with a family crisis. Keep in mind that you sometimes have to take sick days from a full-time job, too.
I also like Glenn's idea of relatedness - at the beginning of a project, it can be necessary and inspiring to see what other people are doing, and how you can apply new ideas to your own design. Anything that improves the end result should be considered time well-spent, whether that's sneaking in an hour of Fallout: New Vegas or playing a couple of Flash games on Kongregate.
Of course, moderation is the other key. :) Good luck to you all!
Oh, so true. I "lost" one month when I helped my wife out with her last term paper that was turned down. Working with her to get the flaws out on a subject that she did not like. It was the last thing she needed to finish her degree. True it was a lost month... But then this is a matter of priorities, right ?
I started about 6 month ago to work on an iPhone game with a friend of mine. We both work out of our apartments and we both go to school, so we only have our free time to develop in.
That time is already filled with, homework/assignments, family, friends, girlfriend, work (to pay the rent;)), time to relax a little. And in the middle of all this we have to find time for game development. And like all of you, we ofcourse find this time! :)
I think the first important realization for us, was that there is no easy or quick way around anything. When your time is very limited, its only natural to try and cut corners. Realizing that this was not a viable option, gave us a much more realistic way to asses the time needed for each task.
Something that was very hard in the beginning. This being our first project, asessing time was the hardest.
We startet out by making a to-do list for both of us (he does graphics and sound, I do programming), when we finish a task we delete it, and move a new task to the top, so the list is prioritized from most important to least important task. In the beginning we decided on a deadline every wednesday, where we would meet up, in person or on skype, and tell the other person what we had done in the previous week and what we expected to complete in the coming week.
This was really great for keeping the project going, but even more important for motivation, because it gave you a boost to hear all the things the other guy had accomplished and it made you wanna perform.
Now we are farther along in the project and have more "fluent" deadlines, where we speak and adjust the progress several times a week, now that we are more tweaking the project than we are doing large chunks at a time.
as regard to working from home, we havent found the perfect recipe yet, but we are getting better, and will definitely try to implement some advises from this article, and follow the comments closely! :)
thank you all and happy development
Peter
Some of the things my team has brought up in the past is:
* More visibility of each others work
* Sticking to "To Do" lists and promised time frames
* One of the guys needed to improve his internet access
* We needed to stick to agreed meeting times (they kept being bumped)
* Responding to emails in a reasonable timeframe
* We all needed to chip in regularly into a bucket to collectively buy a tool or even biscuits and coffee.
It's important for each person to realise that they shouldn't take criticism personally. Even if you're only making free games it is still a business partnership and you should be able to separate business and friendship relationships.
Perhaps this is too formal for some, but it really worked for us.
I think that is very important, we are trying to work on that part at the moment, to be able to tell each other when a piece of work is not okay. Not because the person did not put enough effort in, but maybe it just doesn't fit like it should.
Its a challenge, because we all know it is not personal, but as humans we tend to take it that way. So definitely an important aspect to keep in mind when giving and especially when receiving feedback.
I think we will have one of the "lessons learnt" here midway through, this being our first project, I think it can prove helpful.
thank you
regards
Peter
it is useful.
http://funnycatvideos.us
My (game dev) work day starts when everyone else goes to bed, and I set an alarm so I don't stay up too late. I get a solid 2 and a half hours a day with a night off once, sometimes twice a week for gaming. After the alarm goes off my kill switch is a quick round of something ambient and relaxing like Osmos or Eufloria before bed.
I check my messages before I start (Twitter, e-mail etc) and then I do one very important thing: I close them and don't click on them again for the rest of the night.
I've made myself a spread sheet to keep track of my progress on the different tasks I need to complete and I check them off as I go. My spread sheet, and my thought process in general, tends to jump around a lot with no real organized structure for priority, if I get an idea or I get on a roll with something, I just go with it. Thanks Sean for pointing out docuwiki and flyspray, I'm an organized person but I think I would benefit from something a little more structured than my spread sheet, I will be checking those out.
I am a life-long gamer to the core and I love all kinds, I pretty much want to play them all and I tend to want to keep up with the releases on every platform as much as possible. So really my biggest challenge is clicking on visual studio instead of whatever game has my attention at the time =)
Work at your buddy's house a few days a week. I've found that working along side of my friend whom also does contract work, helps me focus better and stay more on task but the best feature of this is the collaborative aspect. Stuck on a programming bug? Have your friend take a look. Two heads are always better than one, plus when you need a break..well, you are at your friends house..the trade off is that you have to be careful to not get into long conversations or keep sending each other random pr0n pics :p (yes, guys will be guys).
Time Management. Speak to any female, beg for help. Guys lack this gene in their brain.
Take breaks. You're not glued to a 9-5 anymore! Sleep in a bit...10:30... work a few hours, go for a walk, go each lunch and don't be afraid if you take an extra 15 minutes past an hour...work 15 minutes later than you planned..Take a break at 3:00 to play some WoW for an hour (but do have an alarm set)...but if you do, work an extra hour in the evening. My opinion is, as long as you achieve the number of hours you committed to work each day, it really doesn't matter when you complete them...just as long as you are getting proper sleep each night and waking up at a reasonable time...the point is, you are free now from the tyranny of the time clock.