Skip to content
Blog

Developer Spotlight: Phil Tossell

Phil Tossell is a highly experienced coder, tech, and product leader with over 25 years of experience across games, apps, and tech. He started his career at Rare and Microsoft working on games for Nintendo and Microsoft game consoles. Later he dove into the indie scene before eventually becoming interested in Ethereum and blockchain games. He holds extensive experience as a software engineer and tech director. His favorite game is F-Zero on the SNES and he’s a black belt in Aikido–which he studied, practiced, and used to teach.

 
Share a bit about the coolest thing you’ve worked on since you joined Accelbyte.

I'm a coder, so I would normally say it's something that I coded! But actually, the coolest thing at AccelByte has been the people I work with. I see my role at AccelByte as empowering and getting the best out of others. Working with the BlackBox team on some of the groundbreaking features we’ve added to the product has been immensely satisfying. In particular, we’ve been innovating in the area of build distribution with something that we call smart builds: a method of only delivering the minimal set of changes between two builds. I’m really excited about the impact this will have on developer productivity.

What’s your favorite part of what you do? Why do you like it?

I got into games originally because I wanted to create memorable and fun experiences for people; experiences that people would remember years later and maybe even pass on to their children. That desire to make something pleasing, something fun, has extended into my work at AccelByte. When I got to AccelByte, I found that creating a product isn’t all that different from making a game. The end goal is for your users to love your product and have fun using it because then it will be memorable and they will tell other people about it. So, making a product that’s enjoyable to use, which is easier said than done, is the bit that motivates me the most.

Which problem for game studios are you most excited to solve? Why?

With BlackBox, we're trying to provide game developers with a set of tools that allow them to iterate more rapidly. From my own experience, the length of time from implementing an idea, to getting feedback from a designer or player, has a large impact on how good your game will end up. The more times you can go around that cycle and the faster, the better chance you have of creating something special. 

For BlackBox this means we want to provide tools all the way from build creation, to distributing builds quickly and efficiently, and then gathering feedback – whether that be in the form of crash reports, performance metrics, or gameplay metrics – and then using those metrics to decide how to make the game better. In other words, we’re making that iteration loop as smooth as possible and being helpful throughout the development cycle.

On a personal level I suppose I’m trying to make the tool I always wish I had when I was making games!


Describe your work-from-home setup.

With my current setup, I have to have both a PC and a Mac. I generally work on an iMac Pro and a PC when I have to – I’m not a PC fan. There’s not much else, but I have a window in the corner with a view of the ocean which is nice.


What’s something that’s a must-have for your workspace?

Air conditioning! When you live in a hot country it’s absolutely essential. So, if I don’t have air conditioning I find it very difficult to work. 


What music (if any) do you listen to while you work?

Generally, I prefer to think and work in silence. I’ve always been the kind of person that likes peace and quiet. It helps me think better. From time to time I do listen to music. I find classical music is good for working as I find anything with lyrics distracting.


If someone were to meet you at a conference, what conference would that most likely be?

I’ve always wanted to go to a blockchain conference because I’m really interested in that whole area, but I’ve never been able to go to one. Ever since I came across it some years ago, and then we started making a game for it, it's an area that I’ve stayed interested in. Other than that it would have to be GDC.


What past achievement are you especially proud of?

I think there are two. The first was my first game. I think the first game that you ever make is just always special. So the first commercial game I made took over five years, which was Star Fox Adventures. I had the opportunity to work with Miyamoto-san on StarFox which, while brief, was a very special time for me. We went to Tokyo to get his design input on the game which was definitely a highlight of my career. 

The second highlight is when I went and started my own indie company with two other ex-Rare colleagues. We worked for three and a half years on a game called Tengami, which uses a Japanese style. It's an adventure game, but it takes place inside a Japanese-themed pop-up book. Achieving that with just the three of us on our own and with almost no budget is an achievement I’m especially proud of.

What did you want to be when you were a kid?

I think I changed a few times, but my strongest memory is of wanting to be an architect. I was fairly artistic so I don’t know how I ended up as a coder! I always thought I’d end up on the more creative side of things and was really interested in buildings and architecture. But I just got really interested in games and that passion took over. Games felt like a way of combining the creative and the technical in a similar way that architecture does. But yeah, I often wonder where I’d be now if I’d gone down that road. 


What made you decide to be a developer?

I just love playing games. Playing games is a very strong childhood memory for me. Then later, when I got to the end of high school, I started thinking what do I really want to do? So, I latched onto games and I did a bit of programming while completing my courses at school thinking this is cool, I love games, and maybe I can make a career out of this. At the time though, this wasn’t really a career choice. I remember talking to one of my teachers saying I wanted to become a video game developer and he said you can’t make a career out of that, and I thought sure I can. I’ve always wanted to go back and see him and say, look, it kind of worked out. 


Tell us about the first programming language you learned and how you learned it.

It was Basic on the spectrum, and I learned about it from these magazines that had code listings in them. You would just type out the code listing into the computer and then run it. So I looked at those listings and tried to figure out how stuff was working and what stuff was doing. 

When I formally started learning, Pascal was actually the first language I learned. Then in my professional life, it was C and Assembler before moving to C++ years later. Rare was actually late in adopting C++ so we stayed with C for a very long time.


Tell us about the first thing you built or coded.

I got really interested in ray tracing back around 1994 when I was going to University. There was this open-source ray tracer (I forget the name) and so I decided I was going to write my own. But I wanted to try and get as close to real-time as possible, so I wrote a really simple sphere raytracer. At first, I wrote it in C, I think, and then I decided I was going to rewrite it in assembly language because I wanted to see if I could do it in near real-time. The difference in doing it in assembler was huge and I was able to render a number of spheres real time. That was an early lesson in optimisation and how going low level can have a significant impact.


Tabs or spaces?

Tabs.


Favorite Programming Language?

C++, but only if it's C++ 98, which is the original C++ specification. I don't so much like all the new modern additions which make it into an overly complex language. I’m leaning these days more back to pure C or in the more modern world Rust. I’ve just not encountered the chance to really use Rust in a professional context.


What programming language do you think in?

I definitely think in C++ for sure. 20+ years of C/C++ makes it almost inevitable! More generally you could say I default to thinking in an object-oriented approach. But at a more basic level, I think in terms of data and operations on data. Particularly in games, data and how you organise it often ends up defining overall performance. 


Every other language I've learned has tended to be task-focused. When I need to get something specific done I just pick up enough of the language to get the job done and then it's back to C/ C++. I guess C# has come to the fore a bit more these days as well with Unity being very popular but that’s still largely part of the C family.

Nano or Vim?

Neither :)


Rewrite or Copy/Paste?

Copy/Paste


Most used keyboard shortcut.

Cmd + C / Cmd + V (Copy/Paste!)


Preferred OS?

macOS

Favorite game (and on what console?)

The original F-Zero on SNES. I loved the mode 7 graphics, the feeling of speed, and the fast pick-up and play nature of it


How do you keep up with the latest trends, advances, and programming languages?

I’m not the kind of person to jump on trends. I tend to encounter things organically. Usually, I’ll pick up on something new when I’m trying to solve a specific programming or design challenge I’m facing and then I’ll start to poke around on the internet or in conversations with colleagues. After identifying something helpful then I’ll dig deeper and start reading more around the topic.

Interested in working with people like Phil? Check out openings on our careers page!

Find a Backend Solution for Your Game!

Reach out to the AccelByte team to learn more.