So, who are you and what do you do?
Hi I’m Dan and I’m probably the coolest member of Netspeak's Platform Team.
Sounds pretty cool. What's a Platform Team?
In general, the word "Platform" refers to the technology that the game is built on top of. The definition and scope can vary, but at Netspeak our Platform Team is responsible for creating, maintaining and innovating on Game Servers, Networking, Automation, Security and Observability!
A lot of our time is spent developing microservices which allow the Game Team to offload a lot of the various complexities of a social multiplayer game onto us.
What's a microservice?
As a team we develop lightweight services in Go in order to meet the needs of a scalable social multiplayer game. These range in functionality from getting a player into the game (Matchmaking) to sending notifications to your phone.
For instance, we have the “Character” service, responsible for managing any changes made to a player’s character, like leveling up or acquiring gold!
All our microservices are Serverless, which means we don’t need to spend precious development time maintaining them and instead focus on delivering new features faster.
What does a day in the life of a Platform Engineer look like?
As a team we are quite small (3 people!) which allows us a decent amount of flexibility when it comes to how we work. We tend to work asynchronously but we’ll often pair up on a problem at the drop of a hat!
In the morning we’ll meet for a fairly informal coworking hour to discuss the day ahead, bring up issues or ideas and generally just catch up! From there we’ll dive into whatever projects we’re working on at the time, keeping an ear out on Slack if we’re needed to help out with any issues.
We work quite closely with the Game Team on a day to day basis in order to pre-empt any features or tooling they might need. For example, recently we created the functionality to “clone” characters for rapid iterative testing.
What part of the Platform are you most proud of?
Oh, it has to be the level of tooling and automation we’ve created around the Game Development process. The robust development flow for the Game Team enables them to compile the game, test new changes, and deploy servers, all automatically! This drastically reduces human error and time it takes from writing code to playing the actual game. Basically anyone in the company can make a build and test it on a phone any time, at the tap of a button.
Once deployed to either development or production, the engineers are able to check logs, metrics and all sorts of information from a handy dashboard we made for them. All of this is so that the engineers can focus on delivering new features quicker, without all the friction that is all too common in the industry.
What upcoming feature are you excited about?
We're making a social game and our aim is to create a space where real friendships can be created. For that to happen, players need to encounter other players who we think they'll get along with, and who tend to play the game at the same time of day as them. So, one thing we're planning at the moment is a system to let us leverage social data, which will let us better group up our players when they connect to our servers. Currently we store players’ social interactions in a social network which will later allow us to matchmake based on their preferred activities.
This way, the players are more likely to bump into each other and generate the fun encounters which make a social game enjoyable!
And last but not least, what’s your friend code in Sunshine Days?
My code is 5822-2385-0698. I’ve built a devilish maze, come check it out!