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.

Sectors Header

Teaching Heat Signature’s Ship Generator To Think In Sectors

DXHR Open area

What Works And Why: Multiple Routes In Deus Ex

Heat Signature Natural Numbers

Natural Numbers In Game Design

Pharma Header

Naming Drugs Honestly In Big Pharma

Writing vs Programming

Make A Game Tutorial Thumbnail Featured IMage

Let Me Show You How To Make A Game

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

Her Story banner

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

Invisible Header

What Works And Why: Invisible Inc

Super Game Jam Header

Our Super Game Jam Episode Is Out

Shadow of Mordor Header 2

What Works And Why: Sauron’s Army

Heat Signature Talk

Showing Heat Signature At Fantastic Arcade And EGX


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

Murder, She Wrote

The Formula For An Episode Of Murder, She Wrote

Heat Signature Wide 2

Heat Signature Needs An Artist And A Composer

Heat Signature Floorplans Header

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

Gunpoint Steam Workshop

Gunpoint Patch: New Engine, Steam Workshop, And More

Distance Header

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

The Magic Circle

Raising An Army Of Flying Dogs In The Magic Circle

Floating Point Blog Launch

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

Floating Sine

Drawing With Gravity In Floating Point


What’s Your Fault?

Hoplite banner

The Randomised Tactical Elegance Of Hoplite

Gone Point

Here I Am Being Interviewed By Steve Gaynor For Tone Control

Heat Signature Thumbnail

Heat Signature: A Game About Sneaking Aboard Randomly Generated Spaceships

GRappling Hook Thumbnail

The Grappling Hook Game, Dev Log 6: The Accomplice

Alien Swarm Heroics

A Story Of Heroism In Alien Swarm

FTL Story

One Desperate Battle In FTL

Spelunky Banner

To Hell And Back In Spelunky

Game vs story graph

Games Vs Story 2

Gunpoint Breakdown

Gunpoint Development Breakdown

Max Payne 3

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

This is how you die

My Short Story For The Second Machine Of Death Collection


Not Being An Asshole In An Argument

Skyrim Diary - Frostmere

Playing Skyrim With Nothing But Illusion

Mainstream Games

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


A Short Script For An Animated 60s Heist Movie

Dark Messiah

The Magical Logic Of Dark Messiah’s Boot


Arguing On The Internet

Stealth Games

Why Are Stealth Games Cool?


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

Suspicious Manifesto

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

What Makes Games Good

Seat Quest

A Story Of Plane Seats And Class

Beneath Suspicion

Avoiding Suspicion At The US Embassy

Open Worlds

An Idea For A Better Open World Game

Level Up

A Different Way To Level Up

BioShock Ending

How I Would Have Ended BioShock

Meet the Spy

My Script For A Team Fortress 2 Short About The Spy

Team Fortress 2

Team Fortress 2 Unlockable Weapon Ideas

Football Manager

Don’t Make Me Play Football Manager

EVE Assassins

EVE’s Assassins And The Kill That Shocked A Galaxy

GalCiv 2

My Galactic Civilizations 2 War Diary


I Played Through Episode Two Holding A Goddamn Gnome

Machine of Death

My Short Story For The Machine Of Death Collection


A Woman’s Life In Search Queries

Second Life

First Night, Second Life


SWAT 4: The Movie Script

Branching Header

Laying Out Heat Signature’s Ships: Snakey Vs Branchy

Last time I covered how I taught Heat Signature to build ships out of sectors, join those sectors together, lock some of those doors, then place keycards in the right places to ensure they’re all openable. I’d got the algorithm generating layouts like this, which is great: Continued

Sectors Header

Teaching Heat Signature’s Ship Generator To Think In Sectors

I haven’t talked about the way I randomly generate spaceships in Heat Signature since this post – before it even had actual art. That’s partly because I’ve barely touched it since then. I showed the game to developer friends and the press in LA and SF a few weeks ago, and got lots of great input and ideas, but the main thing I came away thinking was: the on-board game needs to be more interesting. And I think better ship interiors are the foundation of that. Continued

DXHR Open area

What Works And Why: Multiple Routes In Deus Ex

Deus Ex’s appeal is often boiled down to ‘lots of options’, but obviously that doesn’t quite cover it. Right now I’m looking to redesign the ‘sneaking inside spaceships’ part of Heat Signature, so I need more than a vague line about what’s cool about Deus Ex – I need a practical understanding of specifically why it works, and why similar games don’t. So I’m replaying Deus Ex 1 and 3, to figure out what it is I want to steal. And I think it is options, but it’s not just number. They have to fill a certain set of requirements, and this is my attempt to nail down what those are.

I’ve been mostly playing Human Revolution so far, but I’ll also use some examples for DX1 since there’s so much overlap. Continued

Heat Signature Natural Numbers

Natural Numbers In Game Design

In maths, ‘natural numbers’ are the ones you might use to count observable, whole things: eg. there are six people here. Anything that doesn’t work in place of ‘six’ there, like 3.4 or -2, is not natural. They’re kind of ‘numbers you can see’.

I’d like to use the term in game design to mean specifically that: numbers you can see. Things that are represented so simply and wholly and countably that you don’t need to display an actual numeric figure to tell the player how much they’re seeing. They can just see. Continued

Orange Banner

Gunpoint Exclusive Edition Owners Now Have A Two-Week Alpha Of Heat Signature

If you own the Exclusive Edition of Gunpoint on Steam – or the Exclusive Extras as DLC – you now have access to a Windows-only, very rough and time-limited alpha test version of Heat Signature!

If you don’t, though, I don’t recommend buying it just to get in on this! This is very unfinished, very unoptimised, and time-limited: I will close it down in two weeks and then you won’t have it anymore. It exists purely to help me find problems with the game and get people’s thoughts, not necessarily to give them the best experience or one I’d charge for individually. Continued

One Problem With Open Game Development

In general I really like open game development – talking and writing publicly about what I’m working on – but I do have one problem. The time when I want to share what I’ve been making is when, after an exhausting amount of work, I’ve finally created something I’m happy with. But sharing it invites critique: anyone who sees a way it could be better will generally tell you about it. Continued

Vapour Trail header

Vapour Trail Experiments

It’s Sunday, so I’m allowed to work on things that aren’t important. This started as a test for an idea I have of how to create a ‘wake’ that expands behind you, something I ultimately want to use to cut through some layers of cloud as you fly. But I accidentally made a cooler version of the existing contrail, so I tried randomly colouring it, and here we are.

Not sure what to do with it from here. I like everything about it except the end, it has what I call ‘fat tail’ problem: no matter how gently I tell the alpha to fade out, the final, big chunk of vapour always looks like it ends rather suddenly, like your ship just has this big fat tail following it.

I like the idea that breacher ships of different factions would have different contrail colours, though. And I think engine upgrades will probably affect this too.

Here are a million shots: Continued

Spot The Bug

My current task in Heat Signature is to tweak the airlocks so there’s room to put a closed door between you and the rest of the ship when you board. That way, you have as much time as you like to plan out your attack and wait till the guards are where you want them.

I needed the airlocks to clear 4 squares on the ship’s collision grid, to give you room to stand. But I hit a weird bug: some of them, maybe a third, did not clear. I checked the ‘clear grid’ function was executing on each of them, but still some of them ended up blocked. Continued

Eurogamer Play Heat Signature

I let Eurogamer play Heat Signature and sat in the back seat to passive-aggressively criticise! It went great!

This is both a slightly better looking build than the last trailer, and a longer vid – shows the whole disrupt/isolate/capture cycle.

What It’s Like Showing Heat Signature To The Press

I used to be press! Now I’m a developer. So I’m showing them my game, and trying to figure out if what I’m showing is exciting. Here’s what that’s like. I would like it known that I really am saying ‘Alec’ when I refer to Alec but it sounds a bit like Alex because of a mouth thing. A similar mouth thing to when I appear to say ‘intereted’ right after.

Writing vs Programming

Writing is like having a conversation with someone who can’t reply until you’ve finished.

Programming is like having a conversation with a robot who screams at you if you pause in the wrong place, electrocutes you if you change your mind, and explodes if you ever use the future tense.

Make A Game Tutorial Thumbnail Featured IMage

Let Me Show You How To Make A Game

After 7 months, 25 episodes, and about 16 hours of total running time, my tutorial series is complete! I talk you through making a game, from writing your first line of code, to releasing and selling it. It’s aimed at absolute beginners, it only uses free software, the tutorial itself is free, ad-free, the game we made is free, and it’s in fairly digestible 45-minute episodes.

Hope it’s of use! Here’s the game we made:


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

As always, follow it on Twitter or sign up to be told when it’s out, or ready for testing, here.

I also made a short montage of all the ways I fucked this video up in previous takes: Continued

Her Story banner

What Works And Why: Nonlinear Storytelling In Her Story

What Works And Why is a thing where I dig into the design of a game I like and try to analyse what makes it good, hopefully to learn from it but also because I love this stuff.



Jump dots final

Tiny Design

Tiny Design is a good blog about tiny design choices and why they were (probably) made. A lot of them are things you might not consciously notice, which made me think that there may be others you still haven’t consciously noticed. So here’s one you might not have noticed in Gunpoint! Unless you followed its development, because I tweeted about it 5 years ago. Continued