Friday, 13 June 2014

People of Frictional: Ian Thomas

Tenth post in the series. You can read the other posts here.

Who am I?

I’m Ian, one of the handful of Brits on the Frictional team. Like Patrik, I’m a level scripter and gameplay programmer. I’m a recent recruit - I only joined Frictional in October 2013, and have been on SOMA since then.

Like everyone else, I work from home. I live in Cardiff in South Wales in a house that was once a butcher’s shop. Kind of appropriate for Frictional, somehow. When we excavated the cavernous and partially-flooded basement, we found a door that led to nowhere. It’s that sort of house.

So here’s the obligatory workspace photo:
Yeah, I know, cluttered! Note how I’ve carefully selected the angle of my screen so that daylight glares right off it. Nice for working on dark, spooky environments, huh?


I’m the old man of the company, and got into the industry by a weird set of diversions. I won’t bore you with the whole thing, but here’s a small selection of the official jobs I’ve had:
  • Run a mask and puppet-making company.
  • Worked in a cartoon studio (the one who made Superted, for the Brits!) in the days when animations were still drawn by hand on paper.
  • Worked in a nut-making factory. You know, like nuts-and-bolts. I’ve still no idea who made the bolts.
  • Headed up the team making the official Fireman Sam CD-ROM in the days when CD-ROMs were a new and exciting thing.
  • Worked in a department licensing people to dig holes in roads, and also licensing people to supervise other people digging holes in roads. Oddly enough, the number of supervisor licenses vastly outstripped the number of people actually licensed to dig, which explains the UK road system.
  • Been chief technical architect for an interactive TV company, designing and building the systems behind a series of interactive TV channels on the Sky platform, when the ‘red button’ was a new and exciting thing.
  • Been co-director of a company making educational games for young kids. We released about 40 interactive titles, a bunch of books and a board game.
  • Worked on a bunch of LEGO console and PC games as a game mechanics coder, where I got to write code for Obi-Wan and Jack Sparrow and Harry Potter and the like.
  • Worked on the port of LittleBigPlanet to the Vita, mostly doing the code behind the touch interface.
  • Worked as narrative designer and gameplay/UI coder on the port of Frozen Synapse to the Vita (which, at the time of writing, still isn’t out).
I grew up in Scotland and started out with computers pretty early on: ZX81, Sinclair QL (I was the customer!), then Amiga 500. I coded from the very first because my ZX81 wouldn’t save or load - which meant I’d type in a program, run it a few times, then turn off the computer and would never see that program again. The QL was pretty much a dead-end, but with no real games for it I had to write my own. The Amiga was an astounding machine. I still miss writing for it, and there were so many superb and iconic games on it. For reasons of Windows-hatred I stayed with that Amiga through University (Computer Science in Glasgow), desperately hoping it’d survive - and then moved on to Sun workstations in the computer labs, where I spent too much time creating and running multi-user text games.

After Uni I moved to the middle of nowhere in Wales, which kind of put paid to any aims I might have had to get into the games industry, and that’s why I made a start on that weird list above.

As you can see from those jobs it took a while to get back on track. But games were what I always wanted to do, and when I’d been running the kids’ games company for a bunch of years I finally went ‘you know what? if I don’t get in now, I’ll regret it’ and made the jump to a triple-A studio.

It wasn’t easy. First I had to convince someone in the games industry to take me on. I had years of coding in a bunch of different languages (including C++, very much still the core requirement in a AAA game coder), so I could show off the tech skills; but I also had to convince them that I knew about games and games code. Traveller’s Tales liked my work test; happily I could talk about Monkey Island and Baldur’s Gate for hours. I think they eventually gave in to shut me up.

LEGO Harry Potter. I forget which title.
LEGO Star Wars III. Anakin's acting was so much better than in the movies.
Once I’d had enough of LEGO (I know that sounds unlikely), I moved to Double Eleven in Middlesbrough and worked on the Vita when the Vita was still called some Sony codename or other; oddly enough, collaborating with a Swedish company (Tarsier). After LittleBigPlanet I did a fairly hefty narrative rewrite on Frozen Synapse for the Vita; it’ll be interesting to see what it finally turns into when it comes out.
Converting a gamepad-powered editor to a touch editor can't be hard, right? Right!?
Converting a mouse-and-menu-driven game to sticks-and-touchpad can't be hard either...
Then comes the bit I’m ashamed about. A friend saw a job at Frictional and asked me if I’d be a reference for him if he applied. Of course I said yes; and then I saw the job description. I asked him if he’d mind terribly much if I applied for it too as it looked ideal for me. He said yes, we both applied, and I got the job. I’m not sure if he’s forgiven me yet. (I don't recommend having to do a work test in the spare moments of a project crunch, by the way!)

Ah, I’ve missed something, haven’t I? Why would Double Eleven let me do a narrative rewrite on a title?
Where's My Shoggoth?
Shameless plug!
It’s pretty straightforward. The list of jobs up at the top of the page have been my day jobs. By night *puts on hat and cape* I’ve been doing things with story for about twenty years. All sorts of things. I’ve written feature film scripts - one got made into a full-length film last year, and another shoots this summer. I’ve written books, including kids' books about Cthulhu. I’ve written and designed narrative for games, and have spent many years writing and running live-action events and interactives of all sorts. So it’s nice to be able to bring some of that into the games I’m working on.

I should set the record straight, though, as some games journalists have got that wrong - I don’t do any of the writing or narrative design for SOMA (other than the usual brainstorms the whole company gets into). Mike is our writer, and Mike and Thomas deal with the overall story. I just occasionally edit people’s blogs for typos. :-) I still do narrative design & writing - just not for Frictional.

What do Iwe do?

This section could be a bit bare, because Patrik’s already given you folks a rough idea of the level scripting process for SOMA. And that’s pretty much what I do. So instead, the guys suggested I write a little bit about how we deal with working remotely.

For those who haven’t realised it, Frictional doesn’t have an office. Everyone in the company is remote. While most people are in Sweden, we now have four guys in the UK and one in Spain, and everyone works from home. Everyone also speaks English, which is really useful for me but also brings on the old colonial guilt.

We have textual Skype running constantly, split into a few chat rooms. The main one is normally full of weird links and discussions about which is the best game to be playing on Steam at the moment. I guess it takes the place of people arguing around the coffee machine in an office. Then there’s a chat room for level scripting and design; one for programming; one for art, and we set up whatever other rooms we need for whatever else is going on.

So despite us all being in different places, there’s a constant sense of presence - people are always commenting and chatting via text on Skype, asking each other questions about the game, complaining about bugs, or posting Luis’s Grunt-pinup pictures. 

Then every Friday morning we have a group audio call, where Thomas goes through any general company news and then everyone chats through what they’ve been up to that week. Luis will say he’s been fixing editor bugs in an Eeyore-kind-of-voice, because that’s what he says every week. Someone will be asked to talk, we’ll hear nothing for a while, and then that person will realise they’re on mute. Someone else’s Skype connection will drop constantly. Thomas’s young son will join the conversation with loud squealing, or end it prematurely. Jens, for reasons no-one quite understands, will be mysteriously busy during the meeting. I think he has an allergy. But it all kind of works - it gives you a good overview of what’s going on and it’s good to hear people’s voices. Although it was a weird experience meeting everyone physically for the first time at GDC this year - everyone was about ten years younger than I expected.

Outside of the regular meetings we often have brainstorming audio sessions with Thomas when about to start on new levels or when trying to work through some particularly tricky gameplay problem. (“But look, if Simon could ride a unicycle then this puzzle would be a lot easier - can’t we get Mike to write an underwater circus background into the story?”)

Moving away from Skype, we have a shared wiki where we keep the engine documentation, workflow & pipeline information, and design documentation. We use Google Docs a lot, but generally for more temporary stuff such as the feedback notes everyone in the company gives after trying out a level. All our code and assets are stored in Subversion, along with things like Mike’s scripts. We make use of Dropbox for sharing assets with contractors and freelancers.

For general project and task management we’ve recently moved to Trello, which is a very simple task-management system where you lay out things on virtual index cards - essentially a well-organised Todo list. Before that we were relying on a much more complex task tracker and a series of Google Docs; Trello has simplified that dramatically. Also it has a Pirate mode. Every productivity tool should have a Pirate mode.

We also have something called S&T - Show and Tell. Every so often we have a milestone for a level, after it's been worked on for a few weeks. At that point it should be playable, and everyone in the company spends a couple of hours together playing through it and writing their impressions into a feedback document. So everyone gets a say about whether they think the level is working on all counts - art, gameplay, sound, story, general atmosphere. We'll often have Skype discussion based on that feedback doc and throw ideas around. Then Thomas will do a pass through the comments and mark which things he considers important and which are nice-to-haves. They'll turn into Trello cards for the different people working on the level. (S&T also applies to engine and editor code - it's just that levels are easier to explain!)

This means that unlike some bigger companies, everyone here gets to comment on the direction the game is taking. It's fantastic - you're not just a cog in the machine, faithfully doing what gets handed down to you by the design department. ;-) You also get to see the whole game as it develops instead of working on isolated levels or features.

So, how is it compared to working in an office? It’s really not that different. It’s easier to tune out noise when you’re trying to concentrate on getting something done - you just ignore the ten posts about E3 reveals that have just gone past. It’s very easy to talk to someone else - easier than it was being in an office of three hundred people, really, because by the time you’d trekked down three floors to talk to the rendering team they’d all gone out to lunch. You can play your own music. You can eat garlic-flavoured snacks.

Other companies shy away from remote working, partly because they worry about people being out of the loop. I’ve been in situations in the past where I was the only remote worker and everyone else was in an office. That really sucks. But because there is no central office and none of us really have anyone else to be talking to during the working day, it feels like a nice tight-knit group here.

And that’s the other argument I hear - mostly from bosses - about remote working. “How could we trust that people were getting on with their work?” It’s pretty simple, really - it is about trust. If you don't trust your staff (whether they're in an office or not) then why did you hire them? If you know everyone is into the project, engaged in it, and wants to make a great game, then you don’t have to stand over them checking up on them all the time. 

I’ve waffled on long enough. I hope that gives you a little insight into how we keep it together. Cheers!


  1. Very interesting! I think that this approach to cooperation is really good to be honest. It really relies on peoples engagement in the game! Also by being in your own workspace and such, you usually have the better creative ideas and courage to comment and give better feedback than if you were in a room with all of the employees staring at you waiting for your opinion.

  2. You're so right about the Amiga - I also refused to let it go for a long time. The Amiga *was* better than Mac or PC - so it *should* not die - but it did. ;)

  3. I like your work space setup :) loved reading your story too, mate.