AccelByte Blog: Insights on Game Development & Backend

Developer Spotlight: Matthew South

Written by Ryleigh Hazen | Nov 2, 2022 9:15:05 PM

Based out of the United Kingdom, Matthew is a Principal Software Engineer at Accelbyte and has worked on many games in his career, from Banjo Kazooie games, to Sea of Thieves, and the new F1 management game. Games are his hobby and he’s always working on one in his spare time. He wrote a Blockchain game–before anyone knew what they were– a few years ago, and is currently working on a physics-based platforming/puzzle game. Matthew also loves the blend of art and engineering and his free time is spent cycling along the river and around town in Cambridge, where he currently lives.

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

It has to be Smart Builds. I was involved in trying to figure out how we can accelerate distributing builds, which for modern-day games can reach into the 100s of GBs. We looked into all sorts of complicated ideas before realising that one of the simplest and most robust solutions was also one of the most efficient, and on testing the theory found it reduced a 25GB upload to just 300MB! There are still many more improvements to make but it’s not often you get a 100x gain in something!

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

To this day it’s still the creative problem-solving part of my job that I love the most. Engineering is a puzzle where you break seemingly intractable problems down into many smaller solvable ones, and the most fun problems are those where you have to get creative to do something efficiently.

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

I can’t tell you how eager I am to tackle the build distribution problem. Having worked at multiple game studios, I can tell you from first-hand experience that producing and consuming builds is such an arduous task that it’s often actively avoided by developers. I know I did and I was part of the build team! An engineer doesn’t have hours in a day to sit idly uploading or downloading builds, especially working remotely over a slow office VPN. Builds are changing hourly sometimes. If we could make pushing and pulling builds as trivial as a commit in git is, developer productivity would be a game changer.

Describe your work-from-home setup.

I’ve foregone a second monitor for the first time in my career to have a view out the window over the river behind my house. It’s relaxing watching the boats and cyclists go by as I work, and a nice little reminder when I’m spending too much time on the computer to go stretch my legs!

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

I’m lost without my whiteboard. Every task I plan starts out in clumsy diagrams scribbled in pen, then rubbed out and scribbled again before it ever sees the inside of a computer.

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

I mostly listen to podcasts whilst I work, which is terrible because I can’t multitask and have no recollection of what was discussed most of the time. But it’s nice listening to people chatting about cool stuff whilst I work on a problem. When I’m listening to music it’s mostly movie or game soundtracks, from Hans Zimmer to Koji Kondo.

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

GDC

What past achievement are you especially proud of?

I’m really proud of the blockchain game I helped develop back in 2017, CryptoPioneers, one of the very first Blockchain games ever created. There were hardly any other blockchain games out at the time, just some collectible games, so it was fun exploring new territory and seeing what was possible in this emerging space. Pushing the limits of what could be run on a smart contract was so much fun from a technical and creative point of view. 

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

I wanted to be an inventor and invent things like anti-gravity cars and hoverboards. I might have been a little bit too ambitious :).

What made you decide to be a developer?

I knew I wanted to make games from a young age, but I really knew I wanted to be a developer when I got my hands on Michael Abrash’s Graphics Programming Black Book. At the time I couldn’t even fathom how games like DOOM and Quake could update the entire screen of pixels every frame, let alone render a 3D world with them! It was this book that drew back the curtain for me on a world of optimisation, algorithms and tricks which I fell in love with.

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

I learned QBasic from a book I borrowed from the school library. Once I could draw a line to the screen I was hooked!

Tell us about the first thing you built or coded.


It was a little 2D adventure game in QBasic where you controlled a character (stick figure) which could walk around a village, go into the houses and talk to the villagers. Think Zelda but with zero production values. It was all drawn with hardcoded line coordinates so it looked terrible but I was very proud of it and shared it amongst all my friends at school.

Favorite Programming Language?

C++ (11 onwards)

What programming language do you think in?


C++, but equally my nightmares are in template metaprogramming and stl error messages.

Tabs or spaces?

Tabs, and we should all agree a tab is 4 spaces.

Nano or Vim?

Nano

Rewrite or Copy/Paste?

Copy/Paste, then rewrite.

Most used keyboard shortcut.

Ctrl-Z

Preferred OS?

Windows 10

Favorite subreddit?

r/Demoscene, I’ll always be in awe at how far some people can push the limits of hardware.

Favorite game (and on what console?)

Zelda: Link's Awakening on The Game Boy. The music, the bittersweet story, the open world to explore…I spent months exploring this world as a kid and pouring over maps like it was a real place, long before the internet was there to help me out if I got stuck. And I got stuck. A lot.

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

I follow people in the industry I respect on Twitter, listen to podcasts, and read articles recommended by specialist subreddits and websites. I try not to limit myself to tech as there is lots we can learn from other fields too, from psychology to maths and physics.

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