Why Sega's latest games required a move to the cloud

Sonic Forces and classic re-releases force Sega to evolve its infrastructure

When Sega re-released console classic Crazy Taxi as a mobile app in 2014, the developer didn't expect eight million people to sign up within a single week to play it.

With Sega's database and gaming servers sitting inside its own data centre, it couldn't scale to meet this surging demand, meaning users experienced crashing features and login issues.

Advertisement - Article continues below

"When they opened up the app, for example, they had a little 30-second wait; a call to the database waiting for the servers to time out," explained Dawid Esterhuizen, who joined shortly after Crazy Taxi's mobile launch as a senior server engineer to help address these problems.

With Sega used to relying on its data centre for games supporting offline play, these server-side problems - including logging into the game and trouble accessing features like the leaderboard - pushed up the app's churn rate.

So when Esterhuizen started a new project, mobile game Kingdom Conquest: Dark Empire, he looked into using a more scalable option, and recommended that everything needed to be horizontally scalable, including the database.

Crazy Taxi's 2014 reincarnation

Moving it into the cloud

The engineer checked out a few NoSQL options including Couchbase, but eventually settled on MongoDB because he had used it at a previous company, but also because its document structure proved to be a lot more applicable to the use case.

Advertisement
Advertisement - Article continues below
Advertisement - Article continues below

Sega chose Node.js combined with MongoDB for its data centre, which Esterhuizen says has been working very well.

But when Sega started its next project, Sonic Forces, which came out last week, Esterhuizen realised the game developer's data centre wouldn't cut it. Sega had projected numbers of about five million daily active users on Forces, of whom 100,000 would be playing concurrently.

As a result, Esterhuizen decided to run MongoDB's database on the vendor's new cloud platform, Atlas.

"We have a very small DevOps team - it's just me and another person - and we have to maintain all the other five games including other services and also this pretty big game that's just gone out," Esterhuizen explains.

"Managing a MongoDB cluster of the size we needed is quite resource intensive," he adds. So much so that without leaving database maintenance to Atlas, Sega would've needed to hire another DevOps engineer.

Advertisement - Article continues below

When he compared the price for using the database on Atlas with running it on Amazon Web Services (AWS), though, Esterhuizen found the cost to be quite high.

"Then we contacted [MongoDB's] enterprise team and worked with them over a couple of months to identify our needs and then they came back with a very reasonable quote which was much more in line with what we had in AWS," he says.

MongoDB Atlas gives Sega scale, and skills

Dawid Esterhuizen, Sega's senior server engineer

"What MongoDB gives us is the opportunity to scale up and meet that need to scale back down again so we can maintain the project long-term but without having a very big price tag on top of the database," Esterhuizen explains, saying he'll use it again in future projects.

"When we started the move towards it, we knew it would be an intensive and expensive investment because people have to be trained, people have to gather the knowledge. At that time, considering all the tools out there, I think it was the best fit for us," he says.

Advertisement - Article continues below

"There's quite a few developers who enjoy working with MongoDB because of the document structures. It makes it simpler and it's more applicable to how we use it at the application level," he adds.

But Sega's developers have given Esterhuizen a "mixed" response to MongoDB overall, he admits, with one common complaint being the database's lack of transactions.

Because of this, he wants to see transactions in the next MongoDB update. "The query retries [in version 3.6, launched this week] are already a big plus but if we have transactions it will make it even better," he said, acknowledging that this might make the database run slower, even in the cloud.

For Esterhuizen, he is looking forward to the new backup query option in 3.6. "It's absolutely amazing for us," he says. "For example, when we do analysis of data in the game we have to run quite big aggregations and slowish queries.

"Rather than running that on a production environment where it can impact users we can just click a button and we can run our query."

Pictures: Sega

Featured Resources

Staying ahead of the game in the world of data

Create successful marketing campaigns by understanding your customers better

Download now

Remote working 2020: Advantages and challenges

Discover how to overcome remote working challenges

Download now

Keep your data available with snapshot technology

Synology’s solution to your data protection problem

Download now

After the lockdown - reinventing the way your business works

Your guide to ensuring business continuity, no matter the crisis

Download now
Advertisement
Advertisement

Most Popular

How to find RAM speed, size and type
Laptops

How to find RAM speed, size and type

3 Aug 2020
Labour Party donors caught up in Blackbaud data breach
data breaches

Labour Party donors caught up in Blackbaud data breach

31 Jul 2020
How do you build a great customer experience?
Sponsored

How do you build a great customer experience?

20 Jul 2020