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

Google+ Is The Exact Opposite Of The Social Network We Need

Or: I’m Completely Misunderstanding Google+

The main part of Google+ is a social updates feed like Facebook or Twitter. With Facebook, you have to confirm someone as your friend before they see your updates. With Twitter, anyone can see your updates without asking permission, unless you make a special ‘locked’ account. With Google+… Christ.

Sometimes when I think about it, it seems like the best of both worlds. But then I try to use it again.

If I’m misunderstanding, please let me know – most of my complaints are of the form “You can’t do X, except by awkward method Y, and even then not really.” I’ve looked, but if there’s a proper way to do X that I’m missing, I’d like to know.

Bad news, guys. Notch said one thing, so now that’s all I can see of my feed without scrolling. On the plus side, I completely agree with him here.

To add someone, you have to put them in at least one Circle – the default ones are stuff like Friends, Family, Work. You don’t need their permission, like Twitter, but just adding them doesn’t necessarily mean you’ll ever see anything they say. That’ll only happen if they also put you in a circle, and then make a post that’s tagged with that circle, or if they make a new post and tag it as Public.

You can sort of see the idea: you might conceivably want to say something to your friends but not your family, so this is a sort of highly customisable privacy. But there are all kinds of baffling, awkward, clumsy things about the system that make it completely counter-intuitive, painful to think about and confusing to use.

  1. It assumes you want to read everything everyone in every circle you make ever says. Your homepage is always an aggregate of all posts from everyone in your circles, and there doesn’t seem to be a way to customise that. You can click individual Circles to see what people you’ve put in those are saying, but there’s no easy way of clicking all the ones you care about and seeing an aggregate feed of those. Short of creating and then maintaining a separate circle that you have to update any time you update any one of the circles you want to include in it.
  2. It assumes that the people you want to read are the same people you want to broadcast to. So if I make a ‘Team Fortress 2’ circle to post nerdy comments only TF2 players might care about, Google+ assumes I want to a) follow everyone I allow to see those posts in my general feed, and b) populate my Team Fortress 2 circle with everything those people say.
  3. I can only categorise posts by who they’re by, not what they’re about. If I have a PC Gamer circle, and everyone at PC Gamer does, and we only post PC Gamer talk to our PC Gamer circles, I’ll still see all that stuff in my general feed, and since these guys are also my friends, I’ll also see all that work talk in my Friends circle. As far as I can see, there’s no way for my work friends and I to ever keep our work talk separate from our social plans, say. That’s less of a problem when you work for PC Gamer, but it seems like an incredibly common distinction to want, and the kind of thing the Circles system was built to address.
  4. You can’t see what circles people have put you in, but they’re not exactly private either. For one, if you don’t manually disable resharing on each post, anyone in the circle you post it to can share it to people outside that circle. Which may well include people who are in your circles and wonder why they didn’t see that post from you in the first place. If you do disable resharing each time, because the people you’re sharing to don’t know what circle they’re in and who is or isn’t in it, they have no way of knowing who they can say “Hey, did you hear Dave’s having a party/baby/midlife crisis?” to without causing awkwardness.
  5. Every time I have ever gone to post something, the default circle to post it to is one I have never posted to before and never would. It’s different every time.

Ultimately, it assumes the main thing you care about in life is preventing certain people from seeing certain things you say online, but that you don’t much care what you read. That’s the exact opposite of my relationship with the internet.

I would never broadcast anything, even on Facebook, I wasn’t happy for the world to see – the internet is now 60% fueled by screenshots of people doing that. But I’m incredibly fussy about whose thoughts I want to mainline.

The running joke, the universal truth, the most crushingly obvious thing about social networking since the moment it took off is this: there’s a vast gap between the number of people I like and the number of people whose verbal newsletter I want to subscribe to.

The two big social networks are both terrible at acknowledging that. Facebook won’t let me follow anyone unless I claim they’re my friend and they confirm it. Twitter won’t let me filter out people I like but don’t want to hear every thought from except with lists, which still don’t work properly and are getting harder to access with each new design. Now, Google have come out with something that combines the worst of both worlds in a manner so confusing that it’s taken me a week to figure out what it even is.

Or: Google have done something else in a manner so confusing that it’s taken me a week to fail to figure out what it is.

Tyshalle: I haven't yet even glanced at this Google+ thing, but two things stick out to me:

1. Google+ is a stupid name for a social networking site.

and 2. That screenshot you posted looks exactly like Facebook. If I hadn't clicked on the screenshot to see the little "+1" Facebook-esque Like function I wouldn't have even known it was done on Google+.

I guess I'm cynical, but how exactly are they hoping to stand out from the 600+ million users Facebook has? Aside from the people who just can't get enough of social networking from the safety of their own homes, who are they hoping to attract with this? The people who hate Facebook's most recent updates and so they go to the nearest clone in protest?

Noc: I think the issue is mostly one of it being a young service. The basic foundation for most of the necessary features are there, it just lacks sufficiently quick and easy ways of accomplishing non-basic feed management tasks.

Like, you can filter your stream to view posts from a specific circle, but can't tag circles to not show up in your stream. You can, of course, just assemble one circle of everyone you actually want to pay attention to, and then just watch your stream through that...but you have to do this manually, and can't just shift-click circles and assemble them into a group.

I don't think there's anything to be done about #2, in any system ever: if you want the people you talk to and listen to to be different, you're, uh, going to have to make two different lists of people. But, at least at present, there don't seem to be tools to quickly duplicate circles, or merge them, or split them, or show a sort of "ven diagram" of people who are in multiple circles, or add people to multiple circles simultaneously, or group circles into groups you can use for posting or streamfiltering.

For #3, some sort of post-tagging system would be quite useful. But that's in the same category of "stuff that would be cool and useful to have but isn't implemented yet."

For #4...this is another thing that's kind of inherent to any privacy system. If you want to keep something private, you have to trust that the people you share it with won't pass it along the gossip-train. This is not a thing that any social network structure will solve! Though, that said, there are issues with Google+'s implementation -- but again, they're things like not having an easy way to see the full list of people a post is shared with, or to search that list, or quickly and easily compare it to one of your circles.

I've never run into #5. As far as I've experienced it, the default circles a post is shared to are whichever you left enabled the last time you went to post something. This might be a bug? Hmm.

. . .

Anyways: I think Google+ has done a pretty good job at nailing down a good structure for a social network. The problem is that using this structure easily requires a set of tools that they haven't supplied yet. Or made yet, really. I do get a bit annoyed at all the railing about it being "counter-intuitive," though: what, exactly, is counter-intuitive about it? You make lists of people. Once you have a list, you can post posts to them, or look at a feed of what that list has to say. The system doesn't "make assumptions" about anything: it's you, as the user, who are making said assumptions when you put together your lists. If you want to do one thing with one set of people and another with another set, this is a thing that requires two lists.

But most of the complaints I hear aren't "ugh, I am trying to set up my circles and there's no way to do %thing without doing it by hand, and I can't just do a quick search for this or accomplish that fairly simple operation with one button press." (Which are all totally reasonable complaints.) Instead, it's all "Whaaat, this system is weird and confusing and stupid," and I struggling to figure out the perspective people are approaching this from that it does not make sense.

TPM: Since circles are used for both incoming and outgoing control, in theory, people could be smart enough to only post TF2 content to people they know who are into TF2.

However, the question is whether or not people understand this, and if they do understand this, will they self-moderate this way? James, you make a very good point, you currently really have no recourse to filter your own stream other than "by person". The onus is all on the poster to make sure they post only to people who they think will enjoy the content. This fails completely for three groups of people: those who are too famous to know all of their listeners, those who want to use the service just like twitter and make everything public, and those who only restrict viewership only to "protect" information (rather than for the benefit of the subset of their friends who don't care about TF2 for example).

I think having some sort of tagging / ranking system would improve the situation greatly, as well as having a way to view posts from more than 1 circle at once (but not all of them!).

Fede: What you want from a social network reminds me partially of what I want from my RSS feed reader. The biggest difference seems to be the fact that a rss feed reader doens't allow yout to choose your readers, but only allows them to choose you. Still, it seems to be halfway there.

Tim E: Google Plus is the best place to hear people talk about Google Plus that could ever have been invented. Amazing.

Less sarcastic: I don't think it's a great product. I don't see what need it fills for end-users, particularly now that Facebook has good video-chat built in. Despite the granular control over what you broadcast, it feels that you're being broadcast at, rather than selecting what you want to read. The circles concept already exists in Facebook as Groups, but it's not as elegantly or forcefully presented, but now that I've lived with Circles for a bit, I think it might be a benefit - my life doesn't benefit from me arranging the people I know into careful little piles. It's an over-engineered solution to a human problem.

I think that's the issue. Plus feels like Google helping itself - it knows that it can deliver better search if it can deliver social search. So to do that, it needs a social product. But as a user, I don't care about Google's aims - I just want a place to hang-out online where Ross will post funny videos of dogs running around with fireworks in their mouths.

Finally; I think Facebook is way too good now. Not big; it's not big enough until everyone with an electronic device is signed up. Just good; it floats the stuff I care about to the top, it is pervasive across the web, it feels real-time but is actually algorthmically managed, and it's fun.

Noc: ...actually, hold on. I did some further thinking, and believe I know what the deal is. Well, at least one of the deals. Or one of the counter-intuitivities. Which is now a word, I have decided.

Namely: if you don't care who's reading the things you post, why bother posting to circles at all? If people want to listen to you they will be following you. You can just post things under "public," and people will hear it -- and if they want to keep their "voices from The Internet" and "actual friends babbling about their personal lives" streams separate, they can put you into the former circle and pick which stream they want to view at any given moment.

If you don't mind your posts being public, there's no downside to posting them as "public." Anyone who wants to listen will be able to, and you're under no obligation to add any of those people to your own circles. THOSE circles can be reserved for the people who you actually want to listen to.

There's no reason to have, say, a "TF2" group full of everyone you know who plays TF2, unless there's a reason you a) want to listen to things that group specifically has to say, or b) want to say things that no one who's not in that group will hear. If it doesn't serve either purpose, there's no point in having such a list.

George: I reckon there's yet to be a real reason for the everyday person to migrate from Facebook to Google+ other than it becoming a trendy fad. The value of a social service is directly proportional to how many people you know use it, and Facebook is certainly ahead on that front.

MartinJ: I actually like that; I prefer to read about others than sharing myself. I only try to share the really meaningful stuff - my Facebook is updated about as frequently your blog, Tom.

Just saying that there is a target group for this. I just need an actual incentive to migrate, like, other people I want to listen to actually using it.

Smurfy: I agree completely, it all seems VERY confusing to me

Jonn: You might want to show this to Google. They tend to listen to criticism.

Jason L:

b) want to say things that no one who's not in that group will hear.

^This is exactly what a considerate person might well want to do for their friends.

Remember when Facebook was the network everyone worthwhile fled to from Myspace? This cycle's rarely - never? - been about a superior service, it's about who's not there yet - the trolls and tweens and corporate advertising operatives and datamining engineers.

To a first approximation everything ever is automatically 'shown to Google'.

Michael R: I think it's too early to jump off the bandwagon just yet, for one small reason: I can make a circle into anything I want. I love doing this. I literally sat around for 2 hours coming up with different ways to categorize people on my friend list. Is it useful? no. Is it worth while in the long run, probably not. Is it really fun? yes.

Try this. Grab 5 random people off of you're friends list, and see if you can make an interesting circle for them. + 10 points. + 1 bonus point for every other person that fits that criteria as well.

Some of my favorites categories:

"Loves Fight Club Too Much"
"Exercise Nuts"
"Old Car Owners"
"Likes Ska"

Zig13: I'm one of the weird people that actually use the complex privacy systems in use in Facebook. If something is happening in Plymouth (where I am at uni) I post it to only be visible to 'Coursemates' and 'Uni Friends' - it would just be clutter to peeps back home.
This should make the described system appealing and natural to me however what seems strange to me is how they are effectively merging two very different services.
Although commonly referred to as a social network, the people you follow/that follow you on Twitter tend not to actually be people you socialise with - these people (amongst others arguably) are your friends with on a social network.
Not naturally distinguishing between these groups is to me the failure. I see the logic of dealing with the bulk of your internet communications, publications and identity from one place - especially for a journalist whose quality musings would be of interest to both audiences. However putting your best mate on an equal footing for your attention with some celebrity/journalist/company that you're vaguely interested in is ridiculous.

verendus: I think a better system would display a number of columns side-by-side, each one representing the newsfeed for a different circle - and if someone in multiple circles makes a post, it will only be displayed in the column with the least amount of recent activity.

Tom Camfield: I think Google is aiming at a more mainstream user than yourself, someone who literally wants to hear more from friends (one circle) and less from acquaintances (one circle) and that's it.

I'm not sure how many people would want things your way; scanning my Facebook feed I have the usual "eating cod...", "linen is the best material...", "EDF out in Cambridge", "big audition...", "going to the beach..."; that's how most people use Facebook, to give out general information about themselves, so:

a. I don't think they'd respond well to your more complicated system - why do I have to sign up to seven Stephen Fry circles, waaah! why do I have to politely sort my comments into different groups, waaah!

b. How would they group comments? - what I'm currently wearing, what I'm currently looking at, how I'm currently feeling...

I think Google understands perfectly that people have more friends than they necessarily want to listen to, it's just that Google assumes that, the people most people want to hear from most are their close friends, because they assume that most people are just saying "wearing shorts, it's hot, whoo!" and they're right about that.

You're the power user they're not really looking to court, beyond existing on the system to encourage other users to jump onboard.

Adam Oxford: I think the feature you're looking for might be Huddle, Tom. I haven't tried it yet, but isn't that a separate area that's more akin to Wave which is where those work-only chats are supposed to take place?

I agree that it's all a bit early to judge yet. It could work, but hard to say yet.

Stan: At first, I was a huge fan of Google+ for mainly the reason of separating friends into Groups --- not because I want privacy, but because I believe in self-moderation to keep clutter out of people's newsfeeds.

But after reading your post and the comments, I realized that the success of the Google+ social network then depends on people to self-moderate, which I don't think the average user is going to do... The success of any system is only as good as its data set, and Google is pretty much banking on the users to categorize their own data. This seems like a flaw to me. Like many of the comments on this thread say, the onus is now on the publisher to discriminate who they broadcast to, and not on the reader to discriminate who they subscribe to. I don't want to completely eliminate somebody from my newsfeed just because half of what they say is irrelevant to me. I just wish they'd only post stuff to circles I'm in that relates to me.
In an ideal world, Google+'s system is better, but I don't give humanity enough credit to limit their big mouths.

Another point, is that I don't know if we've given Google enough credit. I think it's worth it to give it some time to see how their algorithms work. So far, they don't have a lot of data to work with, so I want to let it get populated and see how it plays out. Who knows? Maybe if John Smith is in my circle x, and he posts something as public, but a lot of mutual friends who also happen to be in my circle x give it a +1, then maybe it will get an improved ranking in my "Circle X" feed, although not necessarily in my primary feed. Of course, I have no idea what Google does... just an example of how the system could be smarter than we're giving credit for it so far.

Von Epp: Interesting thoughts. The complication/confusion appears to be that circles are both incoming and outgoing filters.

I think the receiving end filter has lots of merit, but hasn't been implemented properly yet. This would address Stan's concern: lots of friends of varying interestingness, none of them self moderate, because they're human (i.e. lazy). Conceivably Google+ should be able to filter your news feed based on how you tag (circle) your friends in such a way that it does a good job of delivering what's interesting to you. You'd think in the future you'd be able to pull in anything with an RSS feed into a circle as well, so you could sort and prioritize all the data you consume regardless if it's officially Google+ generated or not.

The trouble, and this hits a lot of the things Tom pointed out, is that you're supposed to use circles as an outgoing filter as well, but as a consumer of data you can't subscribe specifically to an outgoing filter, you can only filter by end source, hoping they'll filter relevantly to your tastes. That is, I can't specifically pick Tom's TF2 circle if I think he only says interesting things about TF2, but likewise as a public persona he can't know I only care about TF2 stuff and pick me specifically to go in his TF2 circle. Eventually they'll hopefully allow multiple custom named "public" circles that show up with your profile and create specific RSS feeds (essentially tagging using circles). As an example, Tom could add a public circle called "TF2", when I search for Tom I see he has a number of public circles, none of which I care about with the exception of his "TF2" circle. I take that and drag it into my "gaming philosophy" circle and I'm good to go.

Jason L: Maybe public-facing 'plugs' or 'wires' or 'streams' or 'ports' that can be associated with multiple circles and one-clicked or autocomplete slash-invoked for a post? I assume we're thinking in terms of per-user setups rather than system-wide filtering like Twitter hashtags.

Stan: @Von Epp: Being able to set circles as "public" or "private" would really address this concern well. I like that idea a lot.

It would also be good for celebrities who don't want to fans to their circles one at a time. They could just have a "fans" public circle, and I could add myself to that circle to subscribe to all of their posts.

Rose Tinted Googles | Double You Tee Eff: [...] thing is a neat idea, I think the execution is still slightly flawed at the moment – as Tom Francis rightly pointed out, the people I want to share things with are not necessarily the same people I want to hear [...]

TooNu: Tom, are you writing the Deus Ex review? if not, who has that esteemed honour? I'm buying the issue anyway but I'd sleep better knowing who was writing it. Can you say?

Tom Francis: By winning a gruelling long range crossbow tranq-off on the rooftops of Hell's Kitchen, I have earned the honour.

Toreados: Hi, forgive me coming across all mentalist, what with a massively unrelated comment, but I just finished a new feature on my gaming blog and it occurred to me that you (and possibly some of your regular readers) might find it funny. Or true. Or awful. The point is, you should have some kind of reaction. Hopefully not drooling, though. Here it is! (not spam, honestly - and I know that saying "not spam, honestly" is the oldest trick in the book, but I can sate with utmost sincerity that this is not spam) ...ut-please/

TooNu: WOO! I will buy 2 copies! 1 to read, 1 to save! :) Thanks Tom!

Some reflections/comparisons of social networking sites | Faith and Technology: [...] Tom Francis at Pentadact thinks Google+ Is The Exact Opposite Of The Social Network We Need [...]