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

Ludum Dare Day 1, 1PM: A Working Game

Two surprising things have happened: firstly, I’ve made a game that works already. There’s no point in playing it yet, since it does nothing interesting, but that was all I hoped to achieve today. This’ll give me time to make it interesting today, and make it good tomorrow.

Secondly, now that I’ve made enough of it to see what it’s going to be like, I realise it has almost nothing to do with the theme. The angry deathbots you meet aren’t randomised yet, but even once they are I think running into them is just going to feel like encountering enemies in an arena. It technically is discovery, but because they’re simply off-screen rather than visibly obfuscated, it’s not going to feel like it.

I’m not going to worry about that too much yet – my priority order is to make it interesting, then make it good, then make it fit the theme. Here’s what it looks like now:

SnowBot 2

The blue circles are shields: I didn’t fancy putting a bunch of work in just to recreate the conventional hitpoint bar or health meter on your interface, so I went for something more visual and in-fiction. Right now each shield takes one hit, but as you can see that makes you impractically large for not much health, so I’ll probably tighten their size and thickness before I’m done, and perhaps make them come back online a while after they’re taken out.

The enemy will have these as well, and they’re one of the things that’ll be randomised, so it’ll be very obvious when you’re facing something tough. Not sure if I’ll also have big hulls – that’d mean introducing an armour system as well, which may defeat the point of the shields.

I do plan to have large engines/tracks for fast bots, and a large turret or power core of some kind for things with a lot of firepower. Basically, if I can have at least three functionally important metrics that enemies can vary in, and make each one visually readable at a glance without any interface, I’ll be close to what I want.

Challenges right now:

  • You’re in a fairly large open field of snow, and I’m not sure where to take the environments from there. I’d love it to be infinite but that’s technically tricky. I’d also love some randomly placed obstacles, but I’m wary of creating much art work for myself – I want time to redo the actual robots.
  • My control method didn’t work: holding the mouse button to make your bot chase it was fun, but it meant you’d never be able to fire in one direction while moving in another. I’ve changed it to Cannon Fodder controls – click to move, right click to shoot somewhere else while you’re on your way. It doesn’t feel quite right with current movement speed and screen size – you’re at your destination before you’ve got more than a couple of shots off. May rethink.
  • Random enemy movement was trickier than I thought. I’ve done it, but they’re rather geriatric: quivering with indecision when deciding where to move. I’ve realised the way to make it look better is have them pick an arbitrary direction, turn, then move. But that’s also the way every other game does it, so I’m still wondering if there’s a more interesting way.

Title ideas: Sighs of the Snowbots? Snowbot Snores?


FlyingSquirrel: I vote for a play on a classic Christmas story or carol or something. Snowbots Came Upon the Midnight Clear; Carol of the Snowbots; A Snowbot Christmas Carol; Snowbot Night; etc etc

Lorc: You could kill two birds with one stone re: "discovery" and enemy behaviour.

Every enemy has an invulnerable shield. They also have a different set of rules describing their movement and how you can get past their shield, which you need to figure out Zendo-style.


The green enemies' shield visibly doesn't cover their rear 90 degree arc. They try to move continuously towards you and run you over but have a wide turning circle.

Red enemies are blind and fire in a set direction every second or so. They are invulnerable except for their forward 45 degree arc. Whenever you fire a shot, they turn to face the source of the noise.

And so on.

Tom Francis: Ha, I like it. I'm having lots of fun trying to get behind bots at the moment - I've made them scarily tenacious once they spot you.

Haven't decided yet, but if possible I'd like a Discovery element where I don't have to hand-make all the things you can discover, so bespoke mechanics might be too expensive.

Wilco T.: A little idea for the control scheme. How about holding the mouse button to make the bot chase the cursor, and it accelerates. Once you let go the momentum and speed carry the bot in the same direction, giving you a chance to shoot where you want well the bot "slides". It'd be a little more involved then the "click go here" thing, and a little more unique.

Quasar: So, will having a larger shield mean that you can't enter smaller areas?

Nonomu198: Oh, I have some ideas!
Have the player's robot (snowbot?) shoot constantly. Right click accelerates the bot across the slippery snow (which suspiciously acts like ice) while left click sets the firing direction, which in turn circles the bot around itself (therefore also changing its movement direction due to friction) in order to shoot at said direction, which is by now no longer the point in which you first clicked if you moved. Sounds complicated, I hope it isn't during gameplay.

You could also color-code the shield rings; from one color to another (for example: innermost is yellow while the outer ring is blue) or a different color every ring (ex. even rings are red, odd rings blue). This way you can make the rings smaller and people will still notice the health meter!

Hope I helped.

(Again, Tom, are you still working on that detective game?)

Tom Francis: Nice! Like the colour coding idea, I wouldn't have thought of that. Like everything, I'll try it out if I have time.

Don't think I want the snowbot firing constantly - might make it more arcadey than I'm going for. But the basic idea could work: you could click one button to set the turret's direction, and use the other to move. It could then shoot anything hostile in range and firing arc.

Right now, though, I think I've got the current controls working better - there's now a marker where you clicked, so you can see how long you've got to concentrate on firing before you have to deal with movement again. It's not the most elegant system in the world, but to me the difficulties that stem from it don't feel cheap, it's about as hard as it actually would be to aim the other way while running, say.

Haven't given up on Gunpoint, but I do seem to have slowed down. One of the reasons I'm doing Ludum Dare is to refresh my enthusiasm for it, finish something easier first like I probably should have done when everyone told me to at the start of Gunpoint's development. The two day limit means this can't distract from Gunpoint any longer than I intended.

Delacroix: I'm liking this idea immensely. Brace yourself for "Whose botprints are these?" in regards to your random movement idea and the fact that bot lines of sight are represented by triangles.