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

Oh My God What The Fuck Barbecue

Everyone’s playing the Pyro class in Team Fortress 2 at the moment, because Valve just added loads of Pyro-specific Achievements and new weapons that are unlocked when you earn enough of them. Some of these are things we’ve probably already done, but there’s one that no-one had: OMGWTFBBQ: Kill an enemy with a taunt.


In a rare act of trust, Valve told Craig and I back in February that they’d be lethalising the Pyro’s Street Fighter ‘Hadouken!’ taunt. We were asked to keep shtum, so that players would have to work it out for themselves when they saw there was an achievement for it. And in a rare act of journalistic nondickishness, we did.

But once the cat was out of the bag, I had to have it. The moment the new Pyro content went live, I arranged to meet up with my friend Al for a Hadouken duel – may the winner let the loser fireball him next time. But in the blazing madness of Pyro Night, where 10 of our 12-man teams were playing as the gasmasked deviant, all plans were forgotten. And in the course of joining in with that mayhem, I kept finding myself in situations where it might just legitimately work. Where I could actually Hadouken an enemy.

I failed. Again and again and again. But I’d got the bug now: I had to get this legitimately. No willing victims, no bots, no achievement-clinic maps or grinding servers: real, life-or-death play on maximum-population servers.

My first proper attempt was instinct, when I rounded a corner and found myself face to face with a Heavy and Medic. I had a Medic friend healing me, and I happened to know a horde of my team-mates were right behind, so I jabbed the taunt button hoping that he’d be swamped by them long enough for my fireball to connect. When a Pyro friend did round the corner, he ran to my side and joined me in the taunt. I don’t know whether he was after the achievement or just thought this was a game, but the pair of us were shredded like so many kittens in a woodchipper.

The difficulty, obviously, is that the taunt takes some seconds to perform – during which, you’re rooted to the spot, unable to defend yourself or even cancel the action, and all but the slowest of wits can calmly stroll out of your way or murder you.

Later that round – on Gold Rush – I started doing pretty well. A Medic friend latched on to me, possibly Arq, and we had a good enough run that he earnt his Ubercharge healing the damage I took – and chose to use it on me. He timed it well, as we rounded a nest of Sentries and strong enemy presence on the final checkpoint of the second map, but when I bumped into an Engineer just standing there, I couldn’t resist. It was too perfect. I taunted.

Four, maybe six times. Every time the incoming fire bashed me back too far to hit anything with the resulting fireball, interrupting the animation, and every time I became more convinced I could get him this time. Before that faith was vindicated, our uber flickered off and my poor undeserving Medic and I were blown into the stratosphere. Sorry Medic.

Anyone will tell you the OMGWTFBBQ achievement is easy. It’s the first one they got. Right away they ran into an unwitting Sniper, and he just stood there and let them do it. I know. I’ve been in those situations as every class and their granma, up against people who don’t move or realise I’m there even after two seconds of being beaten about the head. It’s just that since this Pyro update, those people seem to be joining different servers to me. For days, I don’t think I met a stupid player.

The next time I played, I had a masterstroke. I was defending Gold Rush this time, and the attackers had progressed far enough that they’d set up teleporters to take them from their spawn-room to the front line. I’d made it all the way there with relatively little trouble, and now found myself camped outside their home base staring at the telepad they’d each jump on every time they spawned.

I tucked myself into a dark corner on a route no-one takes – even if they’re not going to take the teleporter – and waited. Soon, a Medic trundled out of the iron gates and set himself on the telepad. I charged, hit the taunt button once I was in range, and he stood staring dumbly forwards – right up until he vanished in a constellation of teleporter sparkles. My flaming fists passed uselessly through where he’d been.

If I lurked any closer or approached any sooner they’d see me, so I’d always be too late. But when the next person – a Soldier, a rougher customer – stepped up to the pad before it had recharged. I pounced again, and hit taunt long before the pad was ready to displace him. And gloriously, the whole animation played out in full. To no effect. The flames licked ineffectually at his sleeves, centimeters out of range, and the noise caused him to spin round, spot me with a flinch of astonishment, and fire a single, wildly inaccurate rocket of surprise before he was zapped halfway across the map by the teleporter. God freaking damn it.

It happened on Badlands: I’d just sneakily won the game by camping their final capture point. As their defeated team scurried from our super-critting weapons, I taunted vaguely at a group of them, and my fireball connected with a Medic. He drifted feathery and aflame across the room, and slumped against the wall. No achievement – it doesn’t count in the post-victory humiliation phase. And to add insult to injury, my victim messaged me: “Did you get the achievement? :)” He’d let me do it. My feat was doubly worthless.


It’s been four days now, and I’ve come to expect failure. I waited at the enemy gates, timed a taunt perfectly to flourish just as they opened, and their entire team made an executive decision to pause for exactly a second before charging past my immobilised, useless form and setting fire to me with critical flame from the unlockable Backburner I will probably never earn.

hadouken sequence hl2 2008-06-22 19-08-43-97

I found the perfect Sniper – utterly oblivious, utterly stationary, utterly alone. And I made sure I was virtually touching him before I started, and he didn’t flinch throughout the whole process. I, however, was blown to bits by a critical Demoman grenade to the back of the head just as my hands would have hit him. Without looking up from his scope, he continued to snipe from a room full of my blood.

Tonight I found an enemy Heavy blasting our team from a high window. I was coming up behind him, from inside the building, with no enemies around to intercept me or friends to steal the kill. Surely, I thought. Heavies are reknown for their lack of situational awareness when firing – it’s like a trance. I ran directly for him, and parked myself indecently close. Surely, I thought. I taunted. He kept firing. SURELY, I thought. His face broke into a manic cackle as his spinning gun tore through my team below – then fell, as a magical Street Fighter 2 reference hit him in the small of his back, set him on fire and ended his life. His bloated, burning, bent-backwards body flew spectacularly through the window, sailed over the battle below, and crunched into a fat-sizzling heap in the ditch below.

[PCG] Pentadact has earned the achievement: OMGWTFBBQ. At fucking, stupid last, it might have added.

The sense of triumph is ridiculous – even more so than the last utterly moronic thing Valve made me do by calling it an ‘achievement’. Perhaps because this victory was unique, and over a real person, and I really, really suck.


Of course, not halfway through writing this – and long before I got the achievement – Chris beat me to it with a post about exactly the same thing. Also, he got the achievement legitimately long before me, and he has 22 others, and all the unlockable weapons. Have I mentioned I’m never linking him or his stupid fat Frohman face ever again?


Chris Livingston: Ha ha ha ha. Oh, Tom. You make me laugh. I love the write-up; I felt many of the same things while I was gripped with the obsession of getting with this achievement in a legit match. And the animated gif is just fan-fucking-tastic. I wish I had a record of my own taunt-kill, definitely the most satisfying moment of my TF2 career, but alas, I was way too focused on getting it that I didn't even snap a picture.

Pod: Found yourself a new desktop background then?

The first time I saw this "done" was when a guy Hadoukened 2 snipers in a row on the perch area of Turbine. He got the achievement first time, natch, but boy was it amusing to watch :) (I was coming out of the vent from the other side)

Seniath: I went for the boring Sniper route, and after a handful near misses got it quite easily. Just a couple more to go till I get the final unlock. Loving the Backburner, it certainly goes hand in hand with my desired style of play with the Pyro.

WeakLemonDrink: I thought the sniper method on 2fort would be a dead cert, too, but Snipers were obviously very twitchy when there were that many Pyros running around. I managed to get mine legitimately but a little clumsily during a big pile on to the centre capture point on Fastlane (FastLAME, I call it.) Miraculously, I fired it off and didn't get slaughtered until after I caught someone.

Also: I made it on to one of your screenshots. Typical that it caught one of the RARE occasions I got killed. Yes.

Tom Francis: Burn! Yeah, FastLAME is lame, so is TurBORING. Like the new CTF_Well, though, so far.

WeakLemonDrink: Yeah, I've really taken to CTF Well. Such a simple thing like taking out a big chunk and putting in some extra stairs, and suddenly you've got a lovely, fat free map that's perfect for CTF. About time Well had some love, I think.

Seniath: I generally tire of the standard CP maps (Well/Granary) quite quickly, and Fastlane is no exception. And as for Turbo... it's rather empty. Though I've no idea of the quality of other user-created maps, nor can I map myself, so I guess I can't pass comment.

In other news, woot, bed time.

WeakLemonDrink: Everyone always has such lovely screenshots of TF2. I sometimes wonder if I'm the only person still languishing in DX8.1 land.

WeakLemonDrink: http://steampowered.... ...#038;cc=GB

Valve are good.

Andrew: Funny stuff :)

I'm rubbish as Pyro, I've put some time in though and got the first thingy. I should REALLY go for this achievement next!

Also; Medic weapons are now unlockable at the Pyro levels! Yes! Finally got the Bonesaw, typically on the night I get the critical gun too (under the old numbers) hah! :)

Walker Spaight: /waves to Arq!

okay, and to Tom too ;)

Jay: Maybe if you stuck 2Fort on the server, you'd have this achievement earlier

I'm still not going to even try to play pyro until the pyro-spamfest wears out - besides, medic is now more useful then ever

Alex Holland: Whoop, that means I've got a Kritzkrieg waiting for me, if I get a chance to play tonight. Can't wait to try Kritzing some soldiers, or to make an UberKritz.

Beautiful shot, Tom. I semi-farmed mine (after, in my view, earning it legitimately by having the nous to do it during a Stalemate period), and I was fine with that until I saw the glory that is that animated gif.

Lack_26: I got it on 2fort, first a sniper, then I turned round and go a demoman with it, since I managed it on a medic and a spy that was watch our team and waiting (he was disguised but I knew he was a spy). I've yet to be killed by it but I hope that I am someday.

BullDozers: Step 1: be on the defending team for a goldrush match
Step 2: position yourself, as a pyro, on the side of the exit of a tunnel
Step 3: wait for the cart and the poor schmucks that are most definitely going to be crouch-following it
Step 4: taunt
Step 5: enjoy your new achievement! :)

Seniath: Regarding the change to the Medic achievements: I've been playing as a Medic a fair amount during this Pyro-crazy season, and managed to unlock the first item. At that point I decided that I wouldn't bother with the others, as they were too unreachable... Now, however, they're much more appealing.

Last night I went to bed with 15 Medic achievements under my belt, so naturally I had to play some games this morning to get another and unlock the Kritzkrieg. And I thought I'd kicked unlock fever when I got the Axetinguisher...

Man Raised By Puffins: @ WeakLemonDrink: I'm using DX9, but to get frame-rates approaching acceptability I have to push the detail down until it looks like this.

Got OMGWTFBBQ on cp_well taking out a Sniper, almost got the same guy again in exactly the same place but he'd already developed a Pavlovian reaction to the Pyro taunt sound and moved out of the way.

John Saflo: Rest in peace, Evilmunkee. Your sacrifice will not be forgotten.

Tom Francis: In fact, it'll be replayed every second, twenty-four hours a day, until this post scrolls off the front page.

WeakLemonDrink: That's interesting, Puffins. I don't have that Baby Oil style effect in mine (everything has a matt finish) so I save enough on performance to have quite good texture settings. Maybe you can turn off the shine to improve in other areas?

J-man: Sadly, I don't have any truth, but I swear I just started playing Disco Inferno through hlss(Half Life Sound Selector) and was messing about when I taunted this friendly scout beside me. He was a spy. The moment he died it went 'Burn, baby, burn!'

J-man: WTF Did I say truth? I meant proof.

WeakLemonDrink: PLaying GTA3 a few years ago, I got into a boat and the random in-game MP3 player started playing 'Boatman' by The Levellers. I was so pleased I went on to kill hundreds of people with a bus.

Seniath: @Man Raised By Puffins: Ouch, nasty looking, you have my sympathy :(

Tom Francis: It's surprisingly cathartic, isn't it? Killing hundreds with a bus, I mean. After a couple of really shitty missions in GTA IV, I just stole one and ploughed through Algonquin until it set fire. In a lesser chariot, that'd mean a minute or two. This took half an hour, and destroyed more cars than the IRA.

WeakLemonDrink: Putting the radio onto the classical station rounds off the spree nicely, I find.

Alex: Thank god for that, just spent the better part of 2 hours trying to get it legitimately.

Finally got it, on a sniper, as he was defending the cap on Goldrush.

http://img206.images... ...011sf0.png

Neoviper: I got mine on an engineer on well, who was for some odd reason standing around in the sniper battlements, not building sentries, not moving. Just pistoling my teammates as they rushed in.

Hands down best use of the taunt ever though was on dustbowl, we just took the second area, and one of the pyros on the losing team got one off on a medic of ours, managing a kill with no weapons.

Rosti: Good read as ever; a lot of these Pyro Achievements are fun to attempt, even beyond OMGWTFBBQ. It's no coincidence that I went through both the first and second Milestones the same day that my former girlfriend broke up with me; burning things is massively therapeutic.

And in the game.

Eddie Aitken: Awesome read man. Glad you got it. A belated tip but you can always try to get it after a round if you win, a lot of times the other team just doesn't move, just gotta get to them before your teammates blow their heads off.

CloakRaider: Aye, this achievement gives you an insane amount of pride. Especially if you get it legit. It's also the most crushing blow to someone's self esteem. You were killed by the mere act of someone taunting at you.

Good to do to snipers though, especially if they hear it, turn around just in time to see the fire smash into them and hurl them away. Now all we need is the spy's fencing taunt to do slashing damage...

SenatorPalpatine: I got most of the achievements with friends, and didn't have any fun trying to get them legitimately. (Though there are still a bunch left even though I've gotten all the weapons)

Oh well, next time I'll do all of them for realz.

Oh, and your post about the gnome run was a good read, I should go back and replay Ep. 2 with the gnome.

Lack_26: @CloakRaider, I've been wondering about that. One of the pyro achievements seems silly, as compared to the rest which are do-able, the one where he flicks a cigarette and you ignite him. I'm wondering if there will be a spy pack soon, or at least a update to make one(or more) of his taunts insta-kill, my bet is on the cigarette-flick. The knife is too-much like a back-stab, although Valve may do both.

Tom Francis: I did, Eddie! That was that kill against Horrible Oscar - who's since read this, by the way, and apologises for contributing to the invalidity of my efforts. God damn that man's a gent.

But it doesn't count toward the achievement unless you do it before the round is up, so no dice. Bupkis!

Mad Dnog McBai: I got it with a Scout. A certain amount of luck (he really should not have used the bat) but man did it feel awesome.

DanPryce: I got it by standing in the vent entrance on Turbine. When you Hadouken! from there, the camera glitches above the vent and you can just about see, seconds before it happens, the head of the soon-to-be-toasty. It's not noble, but it got the job done.

The PC Centric Extravaganza 07.01.08 | 411Mania: [...] reading Tom Francis’ bloggings on his quest to earn the OMGWTFBBQ achievement and Chris Livingston’s take on it I decided to go out and focus on getting it [...]