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.

  • RoboLeg: this game would be PERFECT for mobile, and I’d happily pay 10 bucks or so for it.
  • Jepp: 1) Please keep critiquing games by building new ones :) 2) The non-hand holding, simple systems integrating...
  • Jack: Are you going to release Morphblade for iOS or the Nintendo Switch? I would really like to play this on my...
  • Spaceman Moses: One-eyeing this on my phone from the depths of my covers I lazily ask: what do you mean XCOM2 clarity...
  • kripto: For what it’s worth, I also like Morphblade more than Imbroglio. Although, to be fair, I’ve also...
  • Hitman header tunnel

    Rewarding Creative Play Styles In Hitman

    Far Cry Primal Thumbnail

    Postcards From Far Cry Primal

    Snowball jack header

    Solving XCOM’s Snowball Problem

    Kill Zone and Bladestorm

    Kill Zone And Bladestorm

    BAFTA Featured

    An Idea For More Flexible Indie Game Awards

    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


    Shopstorm, A Spelunky Story

    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

    Deckard: Blade Runner, Moron

    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

    Blood money and sex

    Blood Money And Sex


    A Woman’s Life In Search Queries

    Second Life

    First Night, Second Life

    SWAT 4

    SWAT 4: The Movie Script

    Powered Down For Redesign

    Because testing this stuff offline is an enormous hassle, and WordPress has masses of functions that are only valid when used in this: the main index file; James will be down, malfunctioning, hideous or utterly screwed up for many many hours tonight. If it’s not fixed by the time I get bored of fixing it, I’ll revert to this design and give up. Either way, it’ll be a working website again on Sunday.

    Tom Francis: Alright, fuck that. This is going to take months.

    Tom Francis: Can I just say (tm) that CSS is every bit as moronic as HTML, except that it's a form of moronicism with which I'm not already familiar, and I therefore wish its creators death and car trouble?

    ImperialCreed: Bummer, I was rooting for you and everything :)

    The Truth: If it's any consolation, HTML and CSS both think you're fat fingered idiot.

    Rockeye: CSS is fine, until you load up the page that looks perfect in Fire fox and other browsers in IE and JESUS CHRIST WHY HAS IT DONE THAT?

    Tom Francis: Also, Google, would it kill you to use variable names longer than one letter? Or a line-break at some point? I'm not asking for anything crazy like actual comments in your code, just something that can be read by the human eye without surrendering your mind to the frothing depths of lunacy.

    Richard: It's done like that so that to save bandwidth. One extra letter in a variable name or one line feed is one extra byte. And if you're Google, and you're serving that file a 100 million times a day, that quickly multiplies to be a crap ton more bandwidth used.

    Anyway, you should find a tool online to de-obfuscate it.

    Jason L: Huh. Is that knowledge or speculation on your part? I had thought it might be due to their need to support absolutely every browser on every operating system under all rendering circumstances. Maybe linebreaks break browser P, and comments break Q when Javascript is at version J, and word X is a reserved word under browser Y etc. etc. until you've got the absolute sparsest page possible.

    The Truth: HURRY UP.

    Jack: Anyone home?

    Tom Francis: Sorry folks. Some time over the weekend, promise. I actually nearly finished it while I was away in Seattle this week, but I left some code scraps here that I didn't have time to re-write.

    Almost nothing else can go wrong.

    Richard: That's knowledge.

    Tom Francis: So... I fired up the new design in IE, and JESUS CHRIST WHY HAS IT DONE THAT? I only have IE 6 at the moment - I'm hoping 7 is more compliant. But, just for comparison purposes, I tried loading the current design in IE 6 - I'm not sure I ever tested it.

    The application has encountered an error and needs to close. Microsoft apologises for any inconvenience caused.