How far in advance should you be planning the infrastructure for your game?
In conversations with developers and publishers we often find that the games with the smoothest launches start their conversation about servers as early as possible. So, it’s never too soon to start talking to your infrastructure provider.
For the simple reason that without servers your multiplayer game can’t launch.
In this blog, I have provided a breakdown of everything that needs to happen in the lead up to launch.
We believe any conversation with an infrastructure provider should open with the launch date of your game.
Using that as the deadline, a hosting provider can then work backwards to create a detailed timeline of everything that needs to happen from then until launch. That timeline should list each stage that needs to be completed including realistic timeframes for roughly how long each stage needs, to ensure these milestones are met on time.
This is usually the longest testing phase in the whole process because it requires narrowing down a selection of different server configurations to find the most suitable one for your game.
During this step, the hosting provider will work with you to understand how much resource one game session is likely to need and therefore the amount of virtual cores, RAM and disk required to support that resource. They’ll also look at what the minimum clock speed needs to be and how many game sessions can fit on one server.
Using that information, the hosting provider will narrow the selection down to one server configuration for you to begin running tests. Depending on the success of those tests, adjustments to the server set up may then need to be made.
This back-and-forth process can take some time but eventually it will result in identifying the server 'sweet spot' (very technical term). Essentially, the configuration that best balances the needs of the game and its players while ensuring profitability.
Note: You will need a playable version of your game for this stage. While it may not be the finished product, it will give you a good idea of the amount of server-side resource that your completed game will eventually require.
You have identified the best server configuration for your game and can now carry out further tests to ensure that it is the configuration you want to move forward with.
It’s important to note that the server configuration you choose now isn’t set in stone. Changes to the amount of resource required to host your game could change throughout development as you get closer to the completed version. Unexpected issues or successes might lead to a slight adjustment in the server set-up. Which is why it’s essential to work with an infrastructure partner that is easy to communicate with and can be flexible.
Now it’s time to carry out testing of the full technical stack. By integrating all the various pieces of technology that are involved in making the game – databases, matchmaking, game orchestration – you can see how well everything works together within the server environment.
You may even choose to start introducing players at this stage. Their input can help ensure you’ve ironed out as many creases before moving on to your alpha and beta play tests.
This is where players really start to participate.
The alpha testing stage can be an open or closed testing environment and usually involves a few hundred or thousand players.
A closed test will generally consist of colleagues, friends and family playing a version of the game and providing feedback. However, there are a growing number of companies that provide ‘exploratory bots’ for game testing. Modl.ai is one of these companies. Developers and publishers can use it to “see every step the bot takes during testing and where it goes” as well as see “logs and video recordings of each test so you can analyze crashes, errors, exceptions, and warnings”. For me, it’s one of the smarter applications of AI within gaming and I’m interested to see how it grows.
Open alpha tests invite players from gaming communities to test out the game for free. Simply post a message in community groups announcing that you are running an open alpha for your game and gamers will be more than happy to try it out for you.
At this stage, it’s likely that initial player data and feedback has allowed you to identify some issues and bugs that you have been able to resolve.
But up until now, you’ve only tested with a fraction of the player base you’re hoping to attract at launch.
Now it’s time to really put the game to the test and weed out any final problems with a far larger pool of players. The size of your game will determine how many testers you choose to use here.
Opting for a larger pool of players for load testing is recommended. While your game may run smoothly with a few hundred players, when you increase the load it’s inevitable that different pieces of the technology stack will struggle at various points.
There are companies out there that provide access to players for testing, or you can open it to your community via various channels, like email and Discord.
Every year before a new Call of Duty update launches, Activision opens up a beta version of the game for a couple of weekends for fans to try out new maps, mods, tournaments and weapons. This approach to beta testing games gives them the opportunity to gather data from real potential players to help optimize the server environment and wider technology stack even further.
Beta testing games allow you to:
Better understand capacity numbers for launch
Further load test the technical infrastructure
Capture data around player behaviour
Identify any final areas that need patching
And just like alpha tests, beta tests can be open or closed. Like with Call of Duty, open betas are open and free for anyone to play for a limited time, usually a couple of weekends or a whole week. Closed betas are usually invite-only or only available if you’ve pre-purchased the game.
This is where working with a hosting provider that is able to quickly spin servers up and down as you need them is crucial. That flexibility and scalability allows you to easily experiment with different server configurations and make changes depending on the results of the beta tests.
Whichever route you choose to go down, this is the crucial last testing opportunity before launch.
After six different phases of testing, you should now be confident in the performance of your game and the server environment that supports it. Ideally, your launch takes place without any issues.
However, as we know, issues do happen. For example, what if more or less players arrive than expected? It’s why we create what the industry calls ‘war/situation rooms’. Everyone involved in the game – particularly the technical side – gets together in a virtual room on Discord, WhatsApp, Teams etc or in some instances in person, to make sure everything from each different provider is running smoothly and jump on issues if they arise.
Following launch, you will finally have a much clearer insight into the player base for your game, player behaviour and any unexpected challenges. All this data will allow you to optimize server-side performance for the player experience and for the profitability of the game.
It’s important to be aware that each of these steps takes time. How much time is hugely dependent on how much resource you have to carry out each testing phase and the different companies you choose to work with.
This is why we believe it’s never too early to start speaking to a hosting provider and creating a programme to prepare your infrastructure for a successful launch day.
Jarrod Palmer is our gaming industry specialist. He knows the issues our customers face and how best
to help them. He's also a great Warzone player and is the UK office FIFA champion.