Coding while doing stand-up

An engineer and a comedian? Yes, Ethan Watson is a true renaissance man, rocking his head to some metal while coding away at the very core of Remedy’s Northlight engine.

Those of you who paid special attention to some of the posters in Quantum Break might have seen a certain Mr. Watson alongside other “remedians” and their band. Go on, load up the game and check out the exit near the cafeteria in the first act. While you’re doing that, we’ll dive into some tough questions with our man Ethan. 

Ethan Watson, Senior Engine Programmer at Remedy, showing off his impeccable taste in band tees.

You are from Australia, home of deadly spiders and other dangers. How are you handling the cold here in Finland?

You know, I actually love the winter here in Finland. I love that it’s one of two seasons that they have here – winter; and almost winter. I love that you can have ice cream as a snack that warms you up.

A Helsinki summer is much like a Brisbane winter. Brisbane summers are awful. It works out well. Mostly. I did need to go back to Australia over Christmas to thaw out.

What made you decide to join Remedy? The metal music scene here in Finland?

Strangely, no. The metal scene is a bonus though. Europe in general is far better for live music than Australia at the moment, now that they’ve increased the “performing foreigner” tax down there.

A good friend of mine, who I did a programming course and subsequently worked with at Krome Studios back in Australia, was working here when Alan Wake’s American Nightmare shipped. I commented on his Facebook wall that I was a bit jealous of seeing his name in the credits, to which he noted that Remedy was hiring.

I got in to video games to tell stories, and have experimented with different storytelling methods in a series of Doom maps of all things. Remedy is in the business of telling stories. It was something of a no-brainer to send in that application.

What kind of work did you do on Quantum Break?

It’s fair to say “a bit of everything”. For example, when I joined Remedy, the audio team had no programmer so I put in some of the initial research in to what became our audio propagation system. After we got a dedicated audio programmer, I put some work in to the camera system. I’ve done work and features on both sides of the engine- and game-code line to get Quantum Break out the door. I am in my comfort zone when the range of tasks I need to do are varied.

Doing a bit of everything gives me a good overview of the codebase as a whole, how everything links up, and how best to serve the needs of the team.

You currently work as a Senior Engine Programmer here at Remedy. Can you tell us what that work entails?

Unlike Quantum Break, which was serving one team, we’re now serving multiple game teams. Which, again, is something of a comfort zone for me. Back at Krome in Australia, the engine team there had to provide for three-to-four separate platforms and support, from memory, up to eight game teams at a time. Of course, Krome’s engine team was filled with numerous talented people so any area I was weak in I could easily tap in to someone else’s experience and knowledge. Remedy’s engine team is much smaller, so I constantly have to push myself to be stronger in the fields where I am weak.

Day to day work here, as such, is a case of working on tasks on the march to the next engine release. Implementing features, fixing bugs found before they get to the game team, and of course discussing what else is needed in future releases make up my average work week.

One big feature I inherited not long after starting at Remedy, and which I have and will talk about at conferences, is our integration of the D programming language in to our codebase. Maintaining and improving that is one of those things that pushed me to be a significantly better programmer than I was before I started at Remedy. It has also made me very ready to cast off my C++ shackles and embrace a better future.

I’m actively working on getting our open-sourced rapid iteration framework, Binderoo, up to the quality level it needs to be at so that I can do all my work in D instead.

How do you handle the fact that there are always tons more requests in terms of engine features than there are resources? How does the engine team make the call?

That’s a decision for the leads. But generally, work is prioritized in order of who needs what first, whether it’s something everyone can use, and whether we have the manpower to do it in a realistic timeframe.

You recently did some stand-up comedy and there are a few others here at Remedy braving themselves doing that. How was the first time?

The first time was in Brisbane many years ago. It was a reasonably safe environment, being that it was the “graduation performance” of a comedy workshop I took part in so you were at least guaranteed the laughs from your friends and family. But then you step out in to the world of open mic. Very quickly, you learn that your clever routines are no better than a well-placed dick joke. At that point, you either give up; or you learn and adapt and aim to write clever routines that are as good as a dick joke.

My first public performance in five years was a couple of weeks ago. It definitely felt good to get back on stage, see some of the jokes land – and learn from the ones that didn’t. My new stuff is much better than my old stuff, so now it’s just a matter of writing more, seeing what works and what doesn’t, and refining what I already have to make a killer set. And maybe throw in some dick jokes here and there – who doesn’t like getting a cheap laugh? Writing jokes is hard.

You can check out Ethan’s talk from last year’s DConf event below.