All posts


Game development








Hello! I'm Tom. I designed a game called Gunpoint, about rewiring things and punching people, and now I'm working on a new one called Heat Signature, about sneaking aboard randomly generated spaceships. Here's some more info on all the games I've worked on, here's the podcast I do, here are the videos I make on YouTube, here are some of the articles I wrote for PC Gamer, and here are two short stories I wrote for the Machine of Death collections.


By me. Uses Adaptive Images by Matt Wilcox.

Heat Signature’s Launch, And First Player Legend

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

Teaching Heat Signature’s Ship Generator To Think In Sectors

What Works And Why: Multiple Routes In Deus Ex

Natural Numbers In Game Design

Naming Drugs Honestly In Big Pharma

Writing vs Programming

Let Me Show You How To Make A Game

New Heat Signature Video: Galaxies, Suction And Wrench-Throwing

What Works And Why: Nonlinear Storytelling In Her Story

My Idea For An ‘Unconventional Weapon’ Game

From Gunpoint To Heat Signature: A Narrative Journey

The Cost Of Simplifying Conversations In Videogames

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

Heat Signature Needs An Artist And A Composer

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

Gunpoint Patch: New Engine, Steam Workshop, And More

Distance: A Visual Short Story For The Space Cowboy Game Jam

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

Heat Signature: A Game About Sneaking Aboard Randomly Generated Spaceships

The Grappling Hook Game, Dev Log 6: The Accomplice

A Story Of Heroism In Alien Swarm

One Desperate Battle In FTL

To Hell And Back In Spelunky

Games Vs Story 2

Gunpoint Development Breakdown

Five Things I Learned About Game Criticism In Nine Years At PC Gamer

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

The Magical Logic Of Dark Messiah’s Boot

Arguing On The Internet

Shopstorm, A Spelunky Story

Why Are Stealth Games Cool?

E3’s Violence Overload, Versus Gaming’s Usual Violence Overload

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

How I Would Have Ended 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



I was shamefully unable to leverage my super-VIP insider access to get access to a Wii before last week, when Nintendo sent a free one to more or less every magazine in the office except us. I played the one they sent to our kids’ mags with one of their staffers, a non-gamer, and was beaten resoundingly. That alone seemed to vindicate the Nintendo agenda here: she won her first point against the AI in Wii Sports tennis, and it’s hard to think of a game on any other platform that a non-gamer could succeed at so immediately.

But that intuitiveness doesn’t quite last. When the novelty of waving something around rather than mashing buttons wore off, neither of us were clear on how our avatar’s movements related to our own. Frequently they’d do the exact opposite of the real-world motion. Having played on Tim’s a lot more now that it’s officially out in the UK, I still don’t think it entirely works.

Last night was just six people messing around, which is about as casual as gaming gets. But even in that environment at least half of us kept getting stuck in situations where the game thought we were doing the opposite of what we really were, and screwed up the shot. Personally my problem with these situations was that I didn’t know how to avoid them: it usually lost track of me when I was moving very quickly, but if I tried slowing down so it could keep up, it didn’t register what I was doing as movement at all. In the end I found myself creeping the controller slowly back to where my avatar was holding it, slowly enough that the game didn’t know I was doing it, then pulling it back to where I wanted it at a Wii-friendly speed. In other words, I spent more time thinking about the control mechanism than I would have with a mouse-driven golf sim.

We did have a fantastic doubles match of tennis, and for a while I really enjoyed golf, but in both cases it was when I treated it as an abstract game rather than the real sport that it started to make sense. I started doing really well in tennis when I finally accepted that the game couldn’t care less which way I swing the racket, only when I swing it. I have a feeling each mini-game has an abstraction like this that I need to learn before it starts behaving the way I expect it to – in fact perhaps they’re all about timing and speed rather than the actual nature of your movement.

It gets said a lot that you do better when you just play it like the sport and don’t think about the controls, but it never worked out that way for me. I’ve played a lot of golf, I still play a lot of tennis, and I know how balls behave. Most of the time Wii Sports is close enough to attribute the difference to lag or ineptness on my part, but for one in five shots it ignores your movement completely or does the exact opposite of you. And the only way I can avoid that happening is by forgetting about the real action and doing what I know the game will register.

That can be great fun, but it’s not what I thought the point was. And when we’re getting our parents or spouses into gaming, we shouldn’t ever have to start an explaination with “It’s really just about…” That’s what they already think games are, fancy graphics hiding simple timing challenges. I wish their introduction to our world could be with something artful, sophisticated or profound, something that shows games as worlds more than toys.

I think there are going to be some incredible games on the Wii, but now I think they’re not going to be very skill-based. Now I want to play games that relish in how satisfying the motions are – because they are – rather than demanding a level of performance from you that forces you to strip away the illusion and work out what the game’s really measuring: timing or speed alone rather than the direction and arc of your movements. Ironically I think I’m going to enjoy the single-player games more than the multiplayer ones, because multiplayer is always going to be about who can best grok the system. In fact the thing I keep thinking about is a Half-Life 2 port – sucking up and firing things out with the gravity gun would be five times more satisfying if it was done with a grabbing and a punching gesture than it is with two mouse-clicks.

I'm not sure what this has to do with the Wii, but it was tagged with it.

bob_Arctor: Oh.

Somewhat disapointing.

Jason L: Ouch. I'm glad I'm more interested in mouse replacement and the increase in joystick precision - in addition to my near-complete GameCube library my first Wii game, bought an unknown period before the system, is Excite Truck. Thus, I'm fairly insulated from the abstraction problem.

But still, ouch. Sorry to hear that.

Tom Francis: I should say again that it is a lot of fun, it's just that the controller technology isn't reliable enough and the games so far not sophisticated enough for it to be what I wanted it to be. It's very easy to understand and enjoy for non-gamers, but what they'll understand is that this is a simple toy, and it doesn't always work. I wanted them to understand that games are the new frontier of human experience and that they'd been wasting their lives until this moment. I'm kind of an optimist.

Does anyone know how the controller works? To me it feels like there's two things going on, one a gyroscope that communicates using Bluetooth, and the other an infra-red pointer that requires the controller's black end to be pointed at the sensor bar without anything between the two. I've noticed that I can play golf or tennis from the kitchen (there's a hatch), but when a menu comes up I can't point at anything if I'm too far away, my knee is in the way or the angle is wrong. It makes Call Of Duty 3 rather erratic, since the FPS stuff seems to rely on the latter.

Oh yeah, when I said six people messing around was about as casual as gaming gets, I didn't realise that the next day I would actually make and eat a sandwich in another room while playing competently in a doubles-match of tennis.

Graham: That's exactly how it works. Gyroscopes in the controller detect pitch/yaw/roll, while the sensor bar emits UV rays that allow the controller to accurately detect its own distance from the television.

Jason L: Exactly; two separate and complementary technologies. To elaborate slightly and unnecessarily on that, the gyroscopes are done via a revolutionary (hah!) advance in the economy of MEMS accelerometers, and the pointer thing is actually an IR camera with some rudimentary image processing hardware - rumoured to be 1024x768 res. The main point of this is that if you want to go YouTubing, geeks have already made videos of a man bowling from two blocks away and of the pointer running on two appropriately spaced candles.

Zeno Cosini: Slightly off-topic but:

1: I'm disturbed by the revelation that you regularly play golf and tennis. I always lie there, on the sofa, eating carbohydrates, thinking "it's OK that I don't do any physical exercise because there are lots of people - my cousin, for instance - who probably don't."

2: Nice use of "grok". It's a sort of totem-word for Sam (who loves Stranger in a Strange Land). She's the only other person I know who uses it.

Tom Francis: I haven't played golf in a long time, and I only play tennis in the summer, and then only if I have a willing partner. Recently it's been running, though today I replaced that with swimming in my lunchbreak (an odd mental image). I don't do anything regularly, really, it's always bursts of two or three weeks when I remember to do it, then stretches when I forget to do anything at all.

I think I was getting slowly wodgier as I settled into the routine of my current job, and that's what spurred the exercise efforts. It works fantastically if you jump into an intensive regime after not exercising for ages: you feel four times better at all times. But if you do it for too long at a stretch, you stop noticing a difference week-to-week, and you're working to maintain a level of healthiness rather than obtain it. That's much less fun, and probably why I keep slipping out of it. Plus, it's more fun to gorge and vegetate once you're fit.

All this might be related to my habit of changing coffee brands every time I run out. I think I'm trying to stave off the numbness of routine because everything is great right now when I'm awake to notice it.

This started out as a comment on my blog but it's turning into one for yours. Unrelatedly, are there any photos of you online?

Jason L: Hijacked! I'm compelled to throw in here that as far as tone goes I'm a mealy-mouthed Pilates zealot. It takes fifteen minutes tops at a given skill level, expands into more interesting techniques over a long period of time and uses low, breath-based rep counts. The speed and lack of discomfort with which it produced results were a bit silly - I'm a skeptic for preference and fear the placebo effect, but felt and saw change after two sessions over three days. Disciplined people can go every other day, but I fell in and out of that for six months. I've now been pursuing a "no excuses" daily policy for a couple weeks; when a thing only takes fifteen minutes, that's possible. (I only recently discovered the cardiopulmonary lifestyle equivalent, the Tabata protocol. I plan to build tone this month, then start working up to Tabata in an alternating daily program. Very shortly thereafter I expect to expire, as unlike Pilates Tabata is stressful and hurts like hell. I'll never see Portal, sob.)

Back on one of the secondary topics, on those few occasions where I get to use "grok" I'm such an anarchofascihippie that I attempt to pronounce it in fullness. You know how you can make a creaking noise or in extreme cases distinct glottal clicks by tightening your throat on a vowel? Yeah. But then I'm a pedant who's far more strongly affected by Heinlein than is healthy.

Graham: Wodgier isn't a word, but if it was, what would you imagine it meant?

Tom Francis: More wodgy.

Zeno Cosini: I swam and ran a great deal in my early 20s. I was buff. Seriously. Then I stopped. It was about 4 days before Christmas, 2004. I though "fuck, I'll have a break ". I haven't done any deliberate exercise since. I do occasionally walk to and from work when the tube is down, which is a round trip of about 14 miles. But that only happens a couple of times a year, so I can't really call it an exercise regime. My feet bleed afterwards, but I've done a solid day's work, and that's what counts.

I think there are photos of me. The only one I can find is one I cordially detest though. W-why?

Tom Francis: Textual stuttering! One of my favourite Qwantz quirks. I'd need a small photo to add your blog to the roster on the right. I usually prefer to do this without asking or telling the linkee, but that's tricky without an image.

Tom Francis: Have you ever noticed the difference in the results you get Google Imaging for "will francis" as opposed to "william francis"?

Zeno Cosini: Ah - can I email you an image of my choice? I know it's not really cricket, but...

Gravity's Rainbow contains some of the best and funniest textual stuttering ever. You might like Pynchon, if you haven't already read him. Lots of arcane mathematics, drunkenness and obscene jokes.

Yeah - William is much more sepia.

Tom Francis: That would be nigh ideal. I fixed the line-breaks in your comment - it's my fault, really. I can't find a way to have the comments start immediately after the person's name, IRC-style, without reading in the comment as plain text, which ignores linebreaks. So you have to type br in pointy brackets to get a new line, which I still forget to do myself.

Tom Francis: Right, well you're up there with a placeholder William image at the moment, in a potentially backfirey effort to motivate you to send me a real photo.

Jason L: I'd be happy to throw some Googling/RTM time at the comments problem, but I can't tell what software you're using. At one point I believe you were using Wordpress, but if you're still using it, it's not leaving any marks on your HTML.

Tom Francis: Ah yes, my code is clean. It is Wordpress, it's just not built from any Wordpress template. I'm using a thing called TextControl to remove formatting from the comments, which was the only way I could get the comment to start right after the name. Any option with that plugin that allows linebreaks automatically inserts one between name and comment, which kills that conversational feel.

Jason L: That offer was, of course, massively overconfident. Without access to the files, I'm useless, and I also thought Wordpress was its own language parser, not just a PHP CMS. I can say that if it were my blog, I'd remove TextControl and jump straight into poking comment.php. Who knows if I'd be behaving optimally.