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 Two Hour Patch For My Two Day Game

I’ve just put up a new version of the game I made last weekend, Scanno Domini. You encounter randomly generated enemy robots, scan them to unlock their parts, then kill them and take all their guns, shields and engines for yourself. Grab the new version here.

Scanno Domini 1.1

If you do play it, I’d love to know what you thought of it – I’ve been really surprised by the feedback so far.

This version fixes a few significant bugs I didn’t have time to test during the compo – the competition version will stay as it is for judging purposes, of course, I’m just putting this up for anyone who wants to have fun with it. The key changes are:

  • Choice of resolutions – anything up to 1920×1200. The game will remember your choice and not ask you again.
  • Fixed a crash relating to being able to fire while dead. Duhhh.
  • Fixed a bug preventing enemies from sensing when you shoot or touch them – they now turn to try and find you.
  • Fixed a lot of erratic behaviour with the scanner – it’ll now scan all the new tech the bot has in one go.
  • Fixed a problem with bot behaviour that made The Ominous Event extremely hard to recover from – they’ll wander off on their own once you’re down now.
  • Fixed a bug causing some bots to spawn ‘blind’, with no vision cone. It was kind of cute, but causing problems down the line.

Sometime after Christmas, I think I may try a 48 hour sprint with Gunpoint. Getting so much done in such a short time is exhilarating, and it could really use a burst of progress to get it to a point where it makes sense.


JohnArr: Good fun and v. impressive for 48 (+2) hours. It was great happening on a 6-layer shield, or swerving violently when I saw a bot's guns were double the size of mine (then taking them). Also; driving in mocking circles around a bot which had spawned without guns or shields (ahahaha).

One thing that could have been added is some additions to the environment; structures or rock formations that block movement and line-of-sight. From a visual point, it supports the discovery theme and landmarks make the player feel as if they are traversing a world, rather than a plane. From a design point, it would make maneuvering into enemies blind-spots more challenging, and combat more tactical.

I'd guess this was on the feature list but got cut when you thought about how much time you had for collision and AI :P

The scanning link that was also the progress bar was hot :)

Tom Francis: Thanks! Yep, that's exactly right - wanted some obstacles, then realised how much extra work collision and AI would be. Sometimes being ruthlessly efficient on development time results in decisions that look a little weird in the final game.

I did try to add physical boundaries to the space at the last minute, but when I tried to convince the AI not to go through them - hnng. Rapidly aborted and submitted it without.

Glad you like the progress bar, it took about SIX HOURS. Thought it was going to be simple, but it's been the buggiest thing in the game. Very satisfying to have it finally work right in this version.

Bret: Finally beat it.

Once saw a ten layer shield. Broke into a Michigan J Frog quote on running into that.

Fun how seeing any lone tough enemy, the thought is "Jackpot" and any swarm the thought is "Crap."

Zacmanman: Managed to finish after a dozen or so tries. The update is great. It's nice to play in my native 1080p.

Tyshalle: Just FYI, but playing it at max resolution on a 1920 x 1080 monitor completely buggers the aiming. I tell it to go somewhere and it heads several dozen pixels above or below where I'm pointing, and same for shooting. Maybe to be expected since it doesn't actually change my monitor's resolution, but just thought I'd mention it.

Tyshalle: Actually I just realized I'm an idiot, and my resolution size was #5 on the list. Doh!

Tweets that mention A Two Hour Patch For My Two Day Game, by Tom Francis — [...] This post was mentioned on Twitter by Tom Francis, SecondBot. SecondBot said: A Two Hour Patch For My Two Day Game, by Tom Francis [...]

Jason L: It was a good investment, really keeps your eyes focused where they need to be.

Jason L: Oops, old version of page. The GUIless progress bar was a good investment of time.

Wesman: REALLY minor bug. Says 1600X1050 instead of 1680X1050.

Actual resolution is 1680X1050, anyways, so it's not a huge deal, just one wrong string.

Tom Francis: Doh. The number of times I typed one or more of those wrong is unreal. Glad I at least got the functional bits right - couldn't test all of them on my screen at home.

Anonymous: The only problem I have with this game (and maybe its just the version I downloaded?) is the dialog at the begining seems to be talking in jibberish. Was that on purpose?

Bret: Seems so.

Kind of a joke thing on the internet spam idea.

Gav: It's paradroid Tom....

grizzlybaker: Enjoyed the game.


A regenerating first-level shield would be helpful. Don't know how many times I died simply because the enemy was aiming in my direction as I entered the screen.

My display resolution (1600x900) wasn't on there, and I found that the bot went some distance away from where my mouse was located. This made control difficult--many times the enemy got me by my overshooting their position.

Possibly related: I couldn't see my own shots. Should I have been able to?

I totally agree with some environment--just square that block sight and fire would be more interesting. Although implemented that would take a lot more time.

It was overall enjoyable, and amazing what one can do on such a time limit.

grizzlybaker: Changed my mind:

Got better pointer placement by using another, closer, resolution.

Still couldn't see own initial shots unless passing over something dark.

Shield seem weak: many many enemies with big guns causing instant-kill.

Control still really difficult after more practice. Option for keyboard control, with mouse aiming?

Jason L: I sort of wonder if the difficult controls might be essential to the fun. You're not supposed to be a person, you're supposed to be a Chinese knockoff deathbot.

The reason I like this is that it recreates the good bits of Metal Gear Solid in condensed form plus 'discovery' and loot lust. The next step in that theme is for enemies to react to each others' deaths - I imagine having a 'fresh burning hulk' state - since they're obviously all on the same side. I can imagine that adding some fear to special bots and driving you subtly away from your nice comfortable hulk wastelands, or I can imagine it making the game unpredictable and fiddly...

And then slapping a real endgame/death state on it is super difficult. All I know right now is that if there's a beautiful answer, it will come from thinking like Chris Park. These are not humans, they're tools. They may actually be one mind! But when you make them angry their response will not just be an individual bum-rush.

dual_barrel: I have some suggestions for improving the game but I'm not expecting to see any of them implemented because of your deadline. Anyways, things I can think of right now are:

Movement - It would be better for me if the movement could be done through the W, A, S, D keys instead of left-mouse button holding/clicking. And speaking of movement, NOS for a limited amount of time having discovered it first, would be great by holding down the SHIFT key. (Super Meat Boy! hahaha)

Aiming - This is perfect. Reminds me of Lara Croft and the Guardian of Light.

Firing Frequency - If this was a little frequent on my robot's part it would be helpful. This is because when I'm holding down the right-mouse button it feels like the gun has fallen asleep after firing the first round. I'm not asking to change the enemy robots' firing frequency, hehehe.

Fleeing(Exit) Strategy - I need to be able to flee from my pursuing enemy robot. So, if I get out of its field of vision and remain out of it for say 5s, then the enemy robot should lose sight of me and should call the search off.

Tutorial Text Bubble - The bubble should float and follow my robot. Because if I move too far away the bubble gets left off screen and so I have to go back to read it.

Good luck and hope you kick *** with your game!

Anonymous: Further thoughts/dream scenario for a survival mode endgame/kill you state:

This is fundamentally a stealth ambush game with an arcade action failure state ala AssCreed or Hitman. Stealth ambush games, once the difficulty gets spun up, are about isolating an enemy. Right now all enemies are pretty much already isolated except by chance, and the game would fundamentally change anyway in transitioning out of short-form.

Datalinks. A datalink-equipped bot monitors the n nearest bots to it for alarm or death, within range x, down visible radio beams; it's a friendship gun like the Medic's healing ray. It could choose n targets randomly instead of the nearest n if that leaves more fun gaps. There is one second(?) of hysteresis on switching targets, so it won't flicker to your target by surprise and it doesn't cause crazy race conditions. An alarmed bot that spots you alerts any bots monitoring it and communicates your location in real time as if they could see you. I imagine both n and x could vary - a number of little dish antennas, of indicative size, pointing at the target bots at all times.There's not as much fun on the loot side of the equation, I admit; presumably the number of bots whose links you can see and the distance at which a bot's links appear would correspond to what you've claimed, depending on whether we're willing to tolerate seeing only the dishes until you've claimed a datalink. I imagine the networks would rapidly and smoothly increase in size as you raise the threat level, until you inevitably get forced to bite off more than you can chew. I thought about a push datalink, where a bot that spots you would always alert n nearest/random n, but that seems to me to have less Far Cry planning stage and more boring waiting for random wandering to present a favourable scenario.

Ambush games tend to benefit from a way to kite a chosen enemy. Still thinking about whether that would be worth introducing another mechanic, or adding some hard-to-communicate functionality to the datalink like firing at nothing while maneuvering so your datalink range encompasses only one bot.

Unrelated to that problem, I think scanning a living bot, whether you've scanned it before or not, should replenish your shields to minimum(yourmaxshields, botmaxshields). More vampiric functions on the Scanno, yes. Actually, maybe you should be able to dominate and drag a bot backwards out of safety with the Scanno in some way?

Jason L: Oops, not on my home computer, that lazyweb is me.

Anonymous: Aaand actually, if alerted status causes a temporary search pattern towards the alerting bot, and alert status spreads recursively through a significant monitoring network, intentionally killing a monitored bot and running might provide fun/useful herd kiting that would obviate the need for an individual kite.

Jason L: Last flood, I promises. I have to.

In The Scanned of The Blind.

dual_barrel: Ok, I was wrong about the fleeing strategy. Things seem fine with the way they are now!

dual_barrel: BTW, I didn't notice that you've already submitted your completed project!

Wish you all the best.

Inverse9: "Whoa, I didn't actually expect anyone to do that."

So, I won. 4 Speed, Triple Cannon, Range 30, 8 layer shield. Little anti-climatic, yes?

Old Year Resolutions, by Tom Francis: [...] on Gunpoint for two days straight Making Scanno Domini in 48 hours was exciting and eye opening. The deadline not only sped progress, but forced brutal [...]

Jason L: Do you consider Inside A Star-Filled Sky to coincidentally fulfill your goals for SD?

The Escape Game I’m Not Going To Make This Weekend, by Tom Francis: [...] on this weekend, and the theme is Escape. This is the 21st compo – I entered the 19th with Scanno Domini, and regretted not entering the [...]

Adventure Time Game Jam, by Tom Francis: [...] I did Ludum Dare once, where you make a game in a weekend, and it taught me loads about how to be ruthlessly efficient and cut things before you waste time on them. I’ve skipped every game jam since then, and every event except the IGF, to focus on Gunpoint. [...]