How to avoid launch day catastrophe

Launching a game is always tricky. We know from experience. So here are our tips for making sure it goes smoothly.

Multiplayer launches are in the news again. Releasing a game into the world is always difficult and stressful, and every game is different, but we’ve been through this process quite a few times now. And we know how to make it go as smoothly as possible.

So let’s look at what you can do to avoid downtime during your launch.

Test until you’re blue in the face

We can’t overemphasize how important it is to test. And to test thoroughly. Don’t just rely on bots and look at whether you can launch sessions – stress-test the servers. Get real people to actually join matches, fill up the sessions, and really hammer the servers. Try out every in-game action, especially if it needs some server-side calculations.

When we worked with Torn Banner on Chivalry 2, they knew they needed to start testing early. So they ran six alpha tests with real players from their community, before they even entered their beta. Each time, we increased the number of players and sessions to see how the servers would react. This helped us spot any problems early, so we could stamp them out.

Give yourself a backup plan

One way to avoid problems is to look at what’s critical and see whether you can bake in some redundancy. For example, with Chivalry 2, we had multiple server providers ready and waiting in each location. If one provider went down (or simply filled up), we could easily switch to another.

It isn’t just your servers you can do this with. What about other critical services? People can live without chat for a while, but your user database or matchmaker – you need that online.

The best way to avoid a problem here is to make it easy to configure your game without an update. Don’t hard code in variables. Instead, call a web service to get that information. That way, if you need to switch out where your log-in service is hosted or even completely switch out your matchmaker, you can just tweak the config file. You don’t need to update the entire game and release a hotfix, which can take days to go through approval.

This is exactly what Stephen Clayburn from Bungie did, back when he worked on Halo Wars.

“From the server config, we could actually change the variables that the Halo Wars client used when talking with the Xbox matchmaker,” he said. “We could just go in, and within five or ten minutes, we would have changed how our matchmaking buckets within the Xbox matchmaker were actually matching people together.”

Set up a control center

On launch day, you want to be keeping an eye on everything. So set up a team – a combination of your own people and third-party providers – to be on hand. If you know exactly who is responsible for which service, it makes it much easier to solve any potential problems.

Think of it like a NASA launch. You want to be able to call on different providers and get an update. Preferably in a single location, like Slack. Check everyone is online and ready to respond before you hit launch. Then, if there’s a problem, you can focus your attention. And if different third-party providers need to communicate to fix the issue, they can do it through that same channel.

This can really speed up the process and make sure you don’t need to wait for a member of some remote third-party support team to wake up in the middle of the night. Everyone is ready and waiting to respond.

Keep your community informed

In your control center, have your community manager at the ready, too. You need to immediately let your players know if there’s an issue and get that message out into the world. If your community manager is part of your control center, they can quickly explain the situation on your Discord.

Be transparent – tell your players exactly what the problem is, when you think the problem will be fixed, and what you’re currently doing to fix it. Keep talking to them and sending updates. If you do that, they’ll be far less frustrated.

But don’t point fingers and play the blame game. Your players don’t care who’s responsible. At the end of the day, your game is either playable or it isn’t. Yes, explain why. But don’t try and distance yourself from the problem.

So use ‘we’, not ‘they.’ Better to simply say:

“Sorry, our matchmaker has gone down. We’re working on it now. We should be back online in an hour.”

Than:

“Our matchmaking service provider has encountered an issue. They are working on it and should be back online in an hour.”

It’s a subtle difference, but the second looks like you’re trying to shift blame.

Even with surprises, it can still be a success

It’s impossible to think and prepare for every single eventuality. Sometimes, there are problems simply outside your control. Storms can knock data centers offline, providers can get hacked, or you can just get a surge of players.

Back when Chivalry 2 launched, despite all their testing, their matchmaker went down. Thankfully, because of all their preparation, they were able to get back up and running relatively quickly.

Even with that blip, the launch was a success. They still got twice as many players as they expected and hit over a million players in the first month. The blip was just that – a bump in the road. Stressful at the time, but ultimately not disastrous. But only because they’d planned and tested to make it go as smoothly as possible.

Get in touch if you need a hand

We know how important launch day is and how stressful it can be, so if you have any questions about how to make sure it goes as smoothly as possible, get in touch. We’re happy to help.