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 - 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

The case for a marketing content hub

Transform your digital marketing to deliver customer expectations

Download now

Fast, flexible and compliant e-signatures for global businesses

Be at the forefront of digital transformation with electronic signatures

Download now

Why CEOS should care about the move to SAP S/4HANA

And how they can accelerate business value

Download now

IT faces new security challenges in the wake of COVID-19

Beat the crisis by learning how to secure your network

Download now

Most Popular

Microsoft Windows

Microsoft warns users not to install Windows 10's May update

28 May 2020
Server & storage

Dell EMC PowerEdge R7525 review: An EPYC core density to make Intel weep

26 May 2020
Network & Internet

Intel releases Wi-Fi and Bluetooth driver updates for Windows 10

26 May 2020