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

A Leftfield Solution To An XCOM Disaster

This story starts exactly like the last great mission I had in an XCOM game: I kinda took on two missions at once. And everyone got tired from the first one, so we had to send our B-team on the other: to rescue a VIP.

Part 1: The Fight

Almost immediately, they run into our first ever Sectopod – a giant, insanely tough walker. Everyone focused on it, and we got it down low.

It was near a Purifier, but no-one had an attack that would hit both.

The Purifier was behind a truck. Nathan could throw a grenade that would hit the Sectopod and the truck. So he did.

The grenade blew up the truck. The grenade blew up the Sectopod. The Sectopod blew up. The Sectopod blew up a different truck. The truck blew up Nathan.

The Purifier is scratched. Nathan is dead.

Chris and Pip were hiding nearby. The Purifier set fire to them both. A Priest mind-controlled Chris.

Pip couldn’t kill the Priest because she was on fire, so she spent her turn running as far from Chris as she could get.

Chris spent his turn running straight to her and stabbing her with a sword.

Meanwhile, the Purifier set fire to the van the VIP was in. It blew up, but the VIP survived!

The Priest shot him.

Mind Control wears off. Chris triumphantly sprints across the map to slash the 1-health Priest who enslaved him. He misses.

Asher does it for him.

The VIP is dead and the mission is lost, but we spend a turn cleaning up the enemies before Evacuating.

Except: I can’t place the Evac zone. The button’s not working.

You can’t place the Evac on VIP extractions. It’s pre-set. It’s miles away. And the ship leaves in 2 turns.

Part 2: The Escape

Everyone runs – ignoring cover, ignoring the risk of triggering enemies.

We make it to the base of the building. The evac zone is on the roof. We can’t see any route to the roof. No-one can path there.

Asher’s snake suit has a grappling hook, and he uses it to pull himself up to the evac zone. Instead of evacuating, he runs to the far side.

He can see two drainpipes back there, so everyone spents their moves getting to the back of the building. Asher returns to the evac zone.

Final turn. Anyone not in the evac zone at the end of this is lost. Asher’s already there, so I cycle through the rest of the team.

This is how far Pip can move:

This is how far Chris can move:

This is how far Peter can move:

This is how far Rosa can move:

Before I go any further, I should tell you that three people make it out of this mission – and Asher isn’t one of them.

Part 3: The Betrayal

Rosa has the plasma crossbow. We CANNOT lose the plasma crossbow.

Asher has the snake suit. We CANNOT lose the snake suit, but that’s fine, he’s already in the zone. Asher can get out, the question is, can anyone come with him?

No, right? No-one has actions to give, no-one else has grapples or extra moves. No sensible plan works here, so all that’s left are the crazy options.

Rosa can get NEXT TO the evac zone. And Asher can get to the edge of it. They can be adjacent.

You can’t pull another soldier. But you can pick them up. They just have to be dead.

I’m not trying to save Rosa, I’m trying to save her Crossbow. She can’t hand it over, but if she’s dead it’ll be on her body. So we’re going to kill her.

You can’t shoot your own troops, but explosions can damage them. Chris and Peter both have grenades, and between them they do more damage than Rosa has health.

I move Rosa to just outside the evac zone, and have Chris throw a grenade at her. It takes off half her health, but it also destroys the roof, and she goes plummeting to the ground.

I thought this might happen, but I have two possible ways to deal with it:

Firstly, we could kill her on the ground. Asher could hop down, pick her up, and hop back up. Sounds ridiculous, but I think picking up is free, and you actually move just as far carrying someone as unburdened.

I save and try this. I allow myself to save and load any time I want to check ‘how does X work?’ or ‘if I was there, could I do Y?’, but not to undo bad luck.

It doesn’t quite work – Asher can get down and pick her up with 1 move left, but it’s not enough to get up the drainpipe to the roof again.

So option 2: if I do this again and this time blow up part of the evac zone as well, Asher could drop down, pick her up, and technically still be IN the evac zone. If there’s no roof above his head, I reason, he should be able to extract.

I go back and redo Chris throwing the grenade at Rosa, one square further in, and what happens changes everything.

Part 4: The Turnaround

This is why I like my ‘load saves to test rules’ system – it might be less hardcore, but it lets you explore more of the possibility space and discover the craziest tricks.

The grenade goes off, Rosa is hit, the roof collapses and she drops to the ground as before. But then we get a radio call: “The evac zone is compromised, get to the new one!”



Cancel Operation Kill Rosa, blowing up the evac zone is our new objective.

I reload – this is a Did Not Know How The Rule Works situation if ever there was one.

This time Chris throws his grenade to exactly the same place, but I don’t move Rosa there first. The evac zone moves again and to roughly the same spot, right next to Chris.

This is no fucking use to Chris, because he used his turn throwing a grenade.

But it’s great news for Pip, it’s great news for Peter, and it’s great news for Rosa – who’s an especially big fan of this plan of not murdering her. They can all make it now.

It’s pretty devastating for Asher, who is now standing uselessly on the roof that used to be the evac zone, in the rain, in his big blue snake suit, watching everyone else escape. It’s too far for him.

We will lose the snake suit. But this saves three lives instead of one, and most importantly of all, it saves a crossbow that fires plasma.

Our ride takes off, and Chris and Asher are left behind to be captured by Advent. We may get the chance to rescue them later – and if we do, I know exactly who to send.

Tag yourself I’m gravely wounded


Tom Francis: Oh shit, I just realised something even crazier - I could have saved Asher. If he evaced at the start of the turn, we could still have blown up the evac zone after he left. Sorry Asher!

Csirke: Hehh, I knew about the "move evac zone" rule even though I'm sure I've played far less than you (I'm not through my first campaign yet). I guess I'm just more destructive!

(Also, I filled out your "name a soldier" thing, but I just put "Csirke" in the name field, and later realized that should be more than that, but I didn't want to resubmit and be obnoxious. But maybe this is an okay place to correct that to "András 'Csirke' Eisenberger" with twitter @ecsirke ? Though maybe you wouldn't get that far on the list of guys names anyway.)

Archgan: Here's a question. Could you have saved Chris too by moving him to where the new evac zone was going to appear before throwing the grenade? I don't know if he could reach the same spot with the grenade from there (I assume he could) or if the evac zone would spawn somewhere else now that Chris is there, but if it worked, you could have saved everyone who was still alive.

The Sunday Papers | Rock, Paper, Shotgun: […] Tom Francis released Heat Signature this week, and so naturally spend the last few weeks playing lots of XCOM 2: War of the Chosen. He wrote a typicaly Tom-ish story about one of his missions. […]