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

My Favourite Disaster

Back from further secret adventures in the world of exciting things, spent thirty-eight hours on planes this month, tired in a way that sleep won’t fix. It’s breaking season again: came home to a soaking kitchen, TV blew up, network down, new bike tyre immediately flat, PC unupgradable, and laptop took two days to rescue from a series of disasters. The main reason I’ve done so much travelling is that the game broke during my first trip, and couldn’t be repaired for two weeks.

My favourite disaster was when finally managing to get an operating system on my laptop left it unable to recognise its own network card. I had the driver – a 612KB file – on my PC, having found and downloaded it with surprising ease. But I lost my wonderful 4GB USB drive on my way back from my last trip (whoever finds it will have the magnificent ending scene of Portal completely ruined for them by the movie found thereon). I’d used up all my blank CDs burning duff copies of various operating systems after each disc – legit and otherwise – seemed to have at least one essential file corrupt. I had blank DVDs, but the laptop only has a CD drive. I had a floppy disk, and the laptop even has a floppy drive, but nothing else I’ve owned in six years has. I had SD cards, but no card reader. I had a camera that takes them, and the USB cable to connect it, but Windows XP won’t let you write files to my camera because Windows Media Player doesn’t think of cameras that way.

I also had a SIX GIGABYTE MP3 player, but it’s long since stopped working in USB storage device mode. This leaves only Media Transfer Protocol mode, the same infernal madness that dictates that a camera is not a device to be written to. It admits that an MP3 player could conceivably need to receive files, but stops you if you attempt to transfer anything it wouldn’t know how to play through speakers. At this juncture, after curtly informing you that what you’re trying to do is idiotic, it presents you with three options: Skip, Skip All, or Cancel.

This is perhaps the single dumbest problem I have ever encountered. I could almost write out a file of that size in a hex editor if I had a few hours longer. So I used my usual method of getting to the heart of how stupid stuff works: if I was an utter idiot, how would I design this? Well, I certainly wouldn’t actually verify if anything was really a playable music file, I’d just see if the extension was .mp3 and throw a hissy fit if not. By the same logic, a clever man like Tom could easily bypass my angry stupidity by just renaming any old file to MP3, however unmusiclike, then naming it back when successfully transferred.

This is how I came to coin a catchy little ditty called R34071.mp3. It goes a little something like this – and please do sing along if you know the words:

Q² && $ @@ @ $@ $@@ @ “£@ @@@@ A.idata &&&

Well, I’m sure you know the rest.