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

Not Lasting

“ is a service that records what you listen to, and then presents you with an array of interesting things based upon your tastes — artists you might like, users with similar taste, personalised radio streams, charts, and much more.”

I guess my only problems with it, at the moment, is that it doesn’t record what I listen to or present me with an array of interesting things based on my tastes – artists I might like, users with similar taste, personalised radio streams, charts, or anything else.

It’s installed two plugins – one for Winamp which Winamp doesn’t recognise and which doesn’t work, and one for Media Player which Media Player recognises but which doesn’t work. The only time it understands that I’m listening to anything at all is when I use their dedicated player, which doesn’t know what to play me because it doesn’t know what I like. When it finally did play something I liked, I discovered there’s no way to tell it I like a track once it’s finished playing. It knows I heard it, but all it seems able to do with this information is display that fact on my profile page.

What on earth is this thing? What does it actually do? I keep hearing it compared to Pandora, but the way Pandora works is that I tell it what I like, it plays me things it thinks I might like, and I tell it whether or not I do. So far every stage of that process appears to be impossible with

felix (last/): well the trick is that everything you listen to we assume you like and

felix ( (did I hit return instead of backspace just now) ... everything you skip i.e. don't listen to you didn't like.

this data is enough to build your profile and recommend you stuff later. you can also love and ban songs that take your particular fancy in either direction. we don't want you to give feedback all the time as that is too much work. we like observing.

as to getting it going, try the "tune in" tab on the client. search for some artists you like and will play you similar stuff.

so far the handholding, hope you get the hang of it. otherwise there is some more info on
have fun

The_B: Tom, I'm quite suprised at you for not being able to get Last FM working. But then I forgive you. Because I'd be a stuck up bastard if I didn't...

Well, the first thing is that it's just had a bloody redesign, which confuses things a bit.

Anyway, why is the plugin not working on WMP? HAve you configured it correctly first by going to Tools>Plugins>Options>Background>Audioscobbler plugin>Properties?

The_B: (Oh yeah, one of the changes means you now have to accept friends and stuff so, yeah...)

The_B: Gah. I just checked and since they updated it they've also now changed the way you configure it... Erm, OK - is "Enable scrobbling" enabled?

Tom Francis: Cheers Felix. I give up, though. Scrobbling still doesn't work for me even with a fresh install of the latest Winamp and, and the dedicated player keeps saying "Not enough content" even though I've added about thirty bands. It also forgets them all when I close the window. I despair!

The_B: Probably a stupid question. (Don't hurt me) but you have allowed the plugin past your firewall, and you have inputted your username and password into the plugin correctly?

Grill: Ah, you have to listen to a couple of hundred songs and you also have to wait a couple of weeks. It does work eventually though and it's worth it. :) Not tried the Winamp plugin but I've got the Media Player one working on three pretty varied computers.

Jason L: How about iRate? It's a bit clunkier in the transparency department, but the rating's truly collaborative as opposed to a simple numerical match. I'm loving it.

Jason L: Aw, dammit. I'm sorry, please clean up my stupid HTML mess.

Timmargh: The plug-in works fine on my *cough*Mac*cough*.

Tom Francis: Heh, your broken html didn't get through because links get held for moderation, and then I approved it without checking it. Fixed now. seems to be working this machine at work, although only for about half of what I listen to. I suspect it uses ID3 tags, and I typically do not. The tracks I have here mostly do.

Alex Hopkinson: Yeah I think Scrobbling requires ID3 tags to work. I found the MusicBrainz tagger worked really well to automatically tag up my mp3s.