When anyone mentions backend in videogames, most people tend to think about it only in terms of multiplayer games or downloadable extra content, as an important and obvious requirement for those kinds of game features. But let’s not forget the many other ways we can make use of backend development.
To name a few important uses to setting up backend:
- Better user experience when login in, so users can switch between platforms or devices.
- A cloud save system to ensure player progress.
- Special promotions or events available for a short period of time.
- In-App-Purchase systems and validations.
- Achievements and leaderboards.
- KPIs and trackers for the team.
- CRM systems for LiveOps in real time.
- As well as other uses.
But what is backend, considering we can do all of the above and more? Think of it as any software and/or online service running in parallel to a game or app. That’s pretty much it. It’s rarely visible to the end-user or player, but quite important for obvious reasons. It’s a concert or theater backstage where everything is set up and made ready for everyone to enjoy the show.
Backend for a game or an app is not just about throwing around words. It is a complex and interconnected system to bring the best experience for the users and for us to have the ability to control said experience. This is the reason why the backend services offered by the ones like Amazon Web Services (AWS), Firebase, PlayFab and Google Cloud are so well known in the industry.
This is not the same as saying developers should use every service out there. What we use as infrastructure (AWS, PlayFab, Firebase, Google Cloud, etc.) depends on our resources and the experience we want our players and users to have. Each project has its own needs. In TagWizz, we always evaluate the experiences we want to offer, and the budget for monthly fees as well as all the other features.
A main aspect of backend services deals with the amounts of Daily Active Users (DAU), and the Concurrent Users (CCU) of multiplayer games. This has a direct influence on the decision about what infrastructure to choose, because it determines the amount of traffic supported. When a client isn’t sure about the amount of traffic the game or app will reach, a scalable infrastructure will be the most strategic choice, which means the automatic increase in size of the infrastructure based on the DAU/CCU. For instance, a project TagWizz worked on started within the lower hundred DAU, but it quickly rose to 20K+, entering the Top Ten in Google Play Store; if it had been retained on a fixed infrastructure with no scalability, then as developers we would have to either pay to support for a high fixed amount of DAU even when we only had 200 people at the beginning, a not very cost-efficient solution, or let users have issues when trying to open the game, with the unseemly consequence of experiencing constant crashes, forcing developers to manually change the infrastructure on a frequent basis.
The number and complexity of features a videogame or app experience’s design demands is what determines the costs of hiring a certain backend infrastructure. This is why it is so important to have the full picture of all the features that will be required by a videogame or app in order to hire the right infrastructure services. In cases when the plan is not fully laid down, TagWizz offers consulting services on a different array of combinations, as well as manage expectations for backend services based on a client’s budget, and the project’s Objective and Key Results (OKR).
If developers want to understand how people interact with their experiences and get the specific KPIs from them, they need to know exactly what the users are doing by interpreting this data through telemetry or analytics. But before they add this knowledge into their games or apps, developers need a system that gathers the data and stores it somewhere. Google Analytics is one of the most well known, but there are many others, like Leanplum, Amplitude or AppsFlyer. Each one of them can be used on their own, or they can also co-exists in the backend. Either way, in order for software products to connect to any of these platforms, developers need a way to send that data. This is where backend infrastructure comes in handy.
This is not only helpful for the marketing or data science teams, but also for the development and quality assurance (QA) teams during the process of programming the game or app. It also helps customer support understand what is happening to users when they contact them with issues. Knowing where, when and how an issue happens helps developers build better software, as well as offering a better experience for their user by resolving them in real time. There are many things that a good backend can do for us, it is a matter of how we set it up.