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

    Site Seven

    Welcome To Site 7

    Look, I changed everything! I usually redesign my blog a bit at the start of every year, but this one is the first time I’ve built a completely new one from scratch in more than eight years. As is now tradition, I’ll give you a song to listen to while you snoop around.

    Site Six

    It’s been like that for two years, and there were a six things I wanted to change:

    1. A title

    I’ve always struggled with this – I like to be clear and descriptive, but most personal blog titles make me cringe. I also have a bad name for possessive apostrophes, so “Tom Francis’s Blog” is just painful. I used to avoid the issue by naming it something completely irrelevant, like ‘Ugly Fruit’ or at one point ‘Politics’. Then I avoided it by removing the name completely, so the last few iterations have had no title at all.

    This time, I was determined to have one even if I immediately regretted it. After trying several I immediately regretted, I gave up and left it as the placeholder: “Tom Francis Regrets This Already”. I still regretted it, but neatly, the more I regretted it the more appropriate it became.

    2. An intro

    I looked at a lot of people’s personal sites to figure out how to improve mine, and it’s weird how many of them don’t explain who the hell the person is until you rummage around. In the spirit of explaining things to assholes, I really wanted to do a better job of that. The previous site did it in a few terse, reluctant words, so I tried to make it a bit friendlier this time.

    I also think a lot of us are still under the impression that the ‘home page’ is where people arrive, and then they delve into the ‘post pages’ from there. In reality, most people discover sites when they’re linked to a particular page, so they’re more likely to see a particular post first. That’s why the new intro’s on every page.

    3. Responsive design

    Literally more than half of internet users are browsing from a mobile device now. And they vary wildly in resolution. I’ve never liked fixed-width designs, and I’ve never had one here, but previous versions all needed a resolution of at least 1024 pixels wide. They were basically useless on mobile phones.

    Rather than make a separate mobile version, which’d scale badly to the huge middle ground between a Retina iMac and a first-gen smartphone, I’ve made the whole design resolution-agnostic. Try resizing the browser window – it should adapt all the way down to about 250 pixels wide, so it should be readable and usable on anything beyond a scientific calculator.

    I’m also using Matt Wilcox’s Adaptive Images code to automatically resize images to your screen width before you download them, so smaller-res devices don’t download unnecessarily big images.

    4. Bigger images

    At the other end of the scale, it’s ridiculous how many sites look awful at 1920×1080. That’s by far the most common resolution now, and the internet at that res is a sad ocean of wasted space around unreadable text. I wanted to make sure everything expanded at high resolutions, and I particularly wanted big, sharp, colourful images. Most of the games I write about are gorgeous, and it always makes me sad to see them relegated to little thumbnails.

    5. More featured posts

    Previous designs did have a column for posts I wanted to highlight, but it was a clumsy JavaScript array I had to manually text-edit every time I wanted to add something new. So I never did. This time, I wanted those to be bold, colourful little badges, with clearer titles, and a much easier way to add to them. I can just add a tag to any post to add it to the rotation there, so I’ll be expanding that set as we go. You can also read all 30 with the link at the bottom of the right column.

    6. Ways to subscribe

    I realise not everyone uses an RSS reader – even Google, who make the best one, are basically abandoning it. I’m still keeping it, but I’ve now set up a Facebook page and a Twitter account that only ever post when I publish something here.

    I think that’s it! Big thanks to Westley Knight, Jenn Frank and Graham Smith for testing and help. As ever, let me know in the comments if anything’s broken. If anyone’s interested in the stats, we’ve just passed 26,000 comments, this is roughly the 600th post (I deleted a few), and so far 1.4 million people have been here. Wow.


    Magnus: Looks pretty damn great.

    Ben Borthwick: Liking the new design - a minor thing though is I feel the main body text is slightly too big reading maximised at 1920x1080 resolution, although if I resize the browser window in any way (even if I have it the full size, just not "maximised" if that makes sense), it's fine.

    kARL: 16 point font would be awesome, the text is huge and makes me feel like I'm blind as fuck.

    Other than that great job. Here is to another year of great content.

    Tom Francis: Cheers guys! Tweaked the font sizes for 1900 - how is it now?

    Zeddy: I browse at 1920x1080 and this may be the only website I don't need to zoom in on.

    Good show!

    Lack: Overall, I rather like it; the featured articles part especially. And the jacket in your profile shot, I could never pull off black leather, only shades of brown.

    Only niggle, don't care for the drop shadow on the text at the top of the page. Looks a bit messy when combined with the gradient. Okay; I'll admit that that's perhaps pedantic point, even for me.

    Mickiscoole: New design looks pretty damn awesome.

    (Also, the Explaining Things to Assholes link in this article is broken)

    Ben Borthwick: Much better! Cheers Tom - as kARL alluded to, I did at one point think I'd accidentally pressed the shortcut for some sort of Large Print accessibility mode! Much more comfortable now I think (and easier to tell the difference between headings and text.)

    Definitely liking the more efficient (not sure if that's the right word?) use of the space too - your blog has always been the reason I've stuck with a three column theme for my own, and every year I get more jealous at how well you're able to tweak yours and it still works really well.

    Tom Francis: Argh! I made that mistake I never make, of leaving out the http://. I promise I haven't believed www is sufficient since 1997. It actually happened because of the noobification of address bars: if you copy and paste the URL from an address bar, it 'helpfully' clips off the vital http:// to make it look cuter or something.

    Matt: I love the comment submission button. Just throwing that out there.

    TychoCelchuuu: It won't let me comment in Opera. It says "You are posting comments too quickly. Slow down."

    TychoCelchuuu: Actually that one just worked. I only get the error trying to post comments on your resume, maybe.

    TooNu: ooh shiny. Hi Tom, good job Tom. See you later Tom

    Niall: Tom, thanks for keeping on RSS - it's my main method of keeping track of everything on t'internet so I'd hate to see it die!

    On a design feedback front, the text in the comment boxes doesn't scale the same as the rest of the page, so right now I've made the page text small yet readable but the only way I can tell when I make a typo here is by the red line that Firefox inserts, because I can't actually make out individual letters. (Ironically, Firefox doesn't recognise Firefox as a cromulent word...)

    Shaun: I like this new site. It's slick and cool and it's got a certain something about that makes it really feel like it belongs in 2013.

    Micah: Wow. The dynamic resizing down to tiny width is freaking amazing. Seriously the best, fastest, most responsive implementation of that I've ever seen. Why is this not everywhere?

    Otherwise, looks good. Regret nothing!

    MartinJ: On Opera, Win7, 1680x1050:

    http://i94.photobuck... ...6a8c0f.jpg

    Notice the "Continued". It's not a big issue, you can click on it just fine, but looks messy. Might wanna look into it :)

    Matt: I just noticed that on mobile, the YouTube video for the level editor doesn't shrink with the rest of the site, so it doubles the actual width of the page.

    Roy Gatsby: I love the Responsive design. What did you use to implement it?
    A program or did you hard code the whole site?
    Great job.

    Fin C: Is the title of this post a very obscure reference to HL2's "Welcome to City 17"?