All posts

Games

Game development

Stories

Happiness

Personal

Music

TV

Film

TOM FRANCIS
REGRETS THIS ALREADY

Hello! I'm Tom. I'm a game designer, writer, and programmer on Gunpoint, Heat Signature, and Tactical Breach Wizards. Here's some more info on all the games I've worked on, here are the videos I make on YouTube, and here are two short stories I wrote for the Machine of Death collections.

Theme

By me. Uses Adaptive Images by Matt Wilcox.

Tom’s Timer 5

The Bone Queen And The Frost Bishop: Playtesting Scavenger Chess In Plasticine

Gridcannon: A Single Player Game With Regular Playing Cards

Dad And The Egg Controller

A Leftfield Solution To An XCOM Disaster

Rewarding Creative Play Styles In Hitman

Postcards From Far Cry Primal

Solving XCOM’s Snowball Problem

Kill Zone And Bladestorm

An Idea For More Flexible Indie Game Awards

What Works And Why: Multiple Routes In Deus Ex

Naming Drugs Honestly In Big Pharma

Writing vs Programming

Let Me Show You How To Make A Game

What Works And Why: Nonlinear Storytelling In Her Story

What Works And Why: Invisible Inc

Our Super Game Jam Episode Is Out

What Works And Why: Sauron’s Army

Showing Heat Signature At Fantastic Arcade And EGX

What I’m Working On And What I’ve Done

The Formula For An Episode Of Murder, She Wrote

Improving Heat Signature’s Randomly Generated Ships, Inside And Out

Raising An Army Of Flying Dogs In The Magic Circle

Floating Point Is Out! And Free! On Steam! Watch A Trailer!

Drawing With Gravity In Floating Point

What’s Your Fault?

The Randomised Tactical Elegance Of Hoplite

Here I Am Being Interviewed By Steve Gaynor For Tone Control

A Story Of Heroism In Alien Swarm

One Desperate Battle In FTL

To Hell And Back In Spelunky

Gunpoint Development Breakdown

My Short Story For The Second Machine Of Death Collection

Not Being An Asshole In An Argument

Playing Skyrim With Nothing But Illusion

How Mainstream Games Butchered Themselves, And Why It’s My Fault

A Short Script For An Animated 60s Heist Movie

Arguing On The Internet

Shopstorm, A Spelunky Story

Why Are Stealth Games Cool?

The Suspicious Developments manifesto

GDC Talk: How To Explain Your Game To An Asshole

Listening To Your Sound Effects For Gunpoint

Understanding Your Brain

What Makes Games Good

A Story Of Plane Seats And Class

Deckard: Blade Runner, Moron

Avoiding Suspicion At The US Embassy

An Idea For A Better Open World Game

A Different Way To Level Up

A Different Idea For Ending BioShock

My Script For A Team Fortress 2 Short About The Spy

Team Fortress 2 Unlockable Weapon Ideas

Don’t Make Me Play Football Manager

EVE’s Assassins And The Kill That Shocked A Galaxy

My Galactic Civilizations 2 War Diary

I Played Through Episode Two Holding A Goddamn Gnome

My Short Story For The Machine Of Death Collection

Blood Money And Sex

A Woman’s Life In Search Queries

First Night, Second Life

SWAT 4: The Movie Script

My Week

This year I’ve started tracking the hours I spend programming, because generally once I start tracking something I naturally start to optimise it. I’m not a workaholic – I’m at greater risk of not putting in the hours than of putting in too many, and I’d like to make sure I’m putting in enough.

Programming is about 40% of my job. Another 40% is design, and the other 20% is every other job on a game that isn’t art or music. The design part is hard to track though: I find most productive design thinking comes from a big engine in the back while you’re doing other things, as it randomly matches disparate ideas and sprinkles them with what you’re currently experiencing and asks: “Is that anything?”

Programming, though, I can measure: I start a timer and then focus on work for anywhere from 8 minutes to 80. If I get the urge to check Twitter, I can but I have to stop the timer to do it, and only log the work time. I only get to log the time if it really was focused work – all breaks and interruptions and meals and everything else is excluded. Back when I notionally worked an 8 hour-a-day job, I had an hour for lunch, lots of Twitter breaks and interruptions. I’d be surprised if I averaged as many as 6 productive hours a day.

Anyway, here’s my first full week’s programming time tracked:

The faint numbers below the days are individual work sessions, that’s where I log them. I know there are apps to automate this but my actual focus doesn’t always correlate to which app I’m switched to, I prefer to do it manually so the data is meaningful. It’s also a satisfying moment to type the number in and see the bar go up.

This comes to about 30 hours, which struck me as alarmingly low at first. It felt like a very full week! But I was forgetting a few factors:

  • I do other work on Mondays, which I didn’t track at all – more on that below.
  • Programming is only 40% of my job. Design’s 40% mostly overlaps with other stuff, so I’d expect programming to be more than 40% of my work time, but less than 80%.
  • This is productive time only, which is very different to ‘office time’ – per above, I estimate worked less than 30 productive hours at a 40 office-hour job.

So, actually, pretty good! The graph we’ll never see is how much more I started working because I knew it was being tracked – that’s one of the reasons I started. Since I’m hovering around 4-5 hours on a normal work day, I’ll aim to get that to a solid 5.

I did not log the time I spent tweaking the layout and colours of this graph.

Some features of my week:

Business Mondays

I set aside Mondays for dealing with all the company, tax, phonecalls, organisational bullshit I hate, and e-mails which I don’t hate but did not respond to at the time. When this piles up during the week, unless it’s urgent, this system lets me shelve it guilt-free, knowing exactly when I’ll get to it. I also do a lot better with tasks I dislike when I know they’re coming – I kinda dread Mondays (I picked Monday so I’d dread the same day as folks with office jobs), but that makes dealing with them easier. I wake up knowing the day will be all bullshit, no hope of doing any interesting work. And if I can plow through the bullshit quickly, I get the rest of the day off. I also relax any diet/booze restrictions on Business Mondays, a policy offices should adopt also.

I’ve been doing Business Mondays for about 5 years now and it’s one of the most successful habits I’ve made for myself since going independent – it stops the bullshit getting you down or derailing the productive stuff. As you can see I actually did end up doing a couple of hours of real work last Monday – this was on a side-project, as a reward for getting all my boring stuff done.

Side-Project Saturdays

This is new, not sure if I’ll stick to it, but I was remembering Google’s 20% time and wondering if that could work for my back-burner projects. My main project is Tactical Breach Wizards, and it’s progressing in ways I’m optimistic about, but it hasn’t been fast. I sometimes get anxious about it because our artist John Roberts made it look so good so fast, and people reacted so well to it, that it basically has to be made. That’s two massive lucky things I’m grateful for, but I’m used to having literally a year to fuck around with ugly prototypes of random shit I make up before having to decide which one is my real project. Feeling ‘locked-in’ so early makes me anxious, and having side-projects relieves some of that.

So, I thought, maybe Saturdays are for side-projects? No hour quota, work as much or as little as I fancy. And you will see from the hour count that I fancied quite a lot. The two games I play most these days are Slay the Spire and Race for the Galaxy, and my fascination with digital, single-player card games has got to the point that I wanted to try making one. I’m also interested in trying something mechanics-heavy but completely non-violent, which means it’ll probably end up being about destroying suns. I’m making it in Unity to make sure I’m learning new things about the tools that’ll help the main project.

Evening Chillwork

Towards the end of Heat Signature, when I really needed to put in the hours, I’d sometimes give up on a bug at 6pm, have dinner, then watch TV with my laptop open and just tinker absently with it as I’m watching. It was amazing how often this solved it. When focus fails, taking the pressure off and putting your brain in the open mode is really effective. I’d also sometimes do it if the next day’s work was a big, daunting new task – just scope it out while relaxing, no pressure to get anywhere with it, and I often made surprising progress.

So now I do this occasionally, if I’m stuck on something or just didn’t find the hours in the daytime. I log this as half-time for the graph – an hour of chillwork is 30 minutes of productive time. No idea how accurate that is.

Actually Take Sunday Off

Well, the graph don’t lie, I didn’t do this. But that was evening chillwork, while watching movies. It was work I was excited to do, and sitting there forcing myself to fritter the time away instead wasn’t appealing. I won’t do this kind of thing when the side-project hits a tough part or just needs grunt work, that’s when it gets draining.

When I was making Gunpoint, towards the end, I was doing 5 days at PC Gamer and 2 days on Gunpoint. The idea here is just: don’t do that.

Daily Routine

I work from home in the morning, work out, have lunch, then go to a cafe for the afternoon’s work. I settled on this order of things because:

  • Lazy mornings are the primary perk of working for yourself.
  • I used to work out in the morning but if I was having a low-energy day, I’d procrastinate and it’d derail everything.
  • Being around people for part of my day levels me out.

Working entirely from home is more efficient, but if I do it for too long my mood starts to suffer. I lose perspective, small problems seem maddening or utterly insurmountable. In a cafe, when a problem is driving me nuts, I feel the initial frustration but then catch myself and get perspective.

Obviously I’m amazingly lucky to have this kind of freedom over my working life. That much freedom can be dangerous: if you don’t consciously get on top of it, create systems and measure the results, you can end up throwing away a huge gift and being miserable despite it.