Skip to the content

Executive Summary  

Codemasters, a subsidiary of Electronic Arts required to keep their popular mobile game, F1 Mobile Racing online after the deprecation of GameSparks. 

Code Wizards were approached by Codemasters to find a solution that would enable them to move their game LiveOps to a new service, quickly and efficiently.  After looking at various options, Heroic Labs Nakama offering was the best solution.  As part of the solution a custom admin dashboard was created to replace the Manage Screen functionality not provided by any other LiveOps platform. 

This solution would allow Codemasters to move and keep the same codebase whilst allowing them to easily scale and monitor their solution. 

 

The Challenge 

Codemasters needed a solution that could handle the tens of thousands of concurrent players that were online and using their game every dayAs an already launched title, existing player data required to be migratedSome of the key areas of the project are detailed below with the challenges faced at each stage.

Custom LiveOps Dashboards 

  • Manage Screens 
    • Manage Screens were a bespoke toolset provided by GameSparks that was unique and not available on other platforms. 
  • Player Management 
    • Codemasters relied on Manage Screens to manage players - functionality that was heavily used by their Customer Support Team.  The feature rich GameSparks functionality within these screens were not natively provided in any LiveOps platform. 
  • Leaderboard Management 
    • Leaderboards were also managed using Manage Screens.  These were used to Create, Edit and Analyse leaderboard data. Again, this functionality were not natively provided from any other LiveOps platform. 

Code Compatibility

  • Programming languages.  
    • The source and target systems may use different programming languages, making it difficult to guarantee compatibility.  
  • Programming language versions.  
    • The source and target systems may use different versions of the same programming language; leading to compatibility issues.  
  • Different libraries and dependencies. 
    • The source and target systems may use different libraries and dependencies; leading to compatibility issues. 
  • Changes in the underlying platform.  
    • The underlying platform of the target system may have changed since the code was originally written; leading to compatibility issues. 

Data Migration 

  • Complexity  
    • Data migration can be a complex and time-consuming process often determined by data size and data relationships.  
  • Data loss  
    • There is always the risk of data loss during a data migration. This can be caused by human error, technical problems, or natural disasters.  
  • Downtime
    • Data migration can often cause downtime for the systems involved. This can impact business operations and customer satisfaction. 
  • Cost  
    • Data migration can be a costly process over both ingress and egress costs, as well as time to ratify the migration outputs.  
  • Security  
    • Data migration can introduce security risks, as the data is being moved between systems.  

 

Solution 

Nakama 

Within the Heroic Cloud infrastructure hosted in AWS Code Wizards spun up multiple instances of Nakama relevant for different environemts, e.g. DEV, UAT, PROD 

Admin API 

Using Nakama RPC event functionality, a custom API was created that could provide the vast feature set that was currently developed using GameSparks Manage Screens. 

Live Ops Dashboard Application 

On top of the Admin API a custom React application was developed that implemented the same feature set previously provided by GameSparks Manage Screens.  This was hosted as a static site within an S3 bucket only accessible to the relevant support teams within Codemasters. 

GameLift Integration 

F1 Mobile previously used GameSparks Multiplayer functionality.  Code Wizards did a POC using Game Lift that was then fully implemented by the Codemasters development team. 

A Java Spring API was developed as a layer between Nakama and GameLift.  This was hosted using an EC2 instance within AWS. Code Wizards implemented an integration on top of the API layer from Nakama to allow the game to use GameLift but not have to speak directly to it, decoupling the dependencies to ensure maximum future proofing and flexibility. 

Code Migration 

Using a proprietary (developed by Code Wizards) data migration application, data from GameSparks was able to be migrated to PostgreSQL.  During such a sizable migration there was increased chance of data loss, so the game was put into maintenance mode for 3 days.  After migration, extensive tests were carried out before releasing the game back to public. Due to an initial spike in users, Nakama had to be scaled up to be able to support the traffic.  Using Nakama’s inbuilt scaler this was extremely easy for Codemasters to perform. 

Results and Benefits  

With Code Wizards expertise and knowledge Codemasters were able to avoid business interruptions from the GameSparks deprecation. The solution that was provided to Codemasters by Code Wizards gave the following benefits and results:   

  • Faster implementation time.  
    • Without Code Wizards expertise and partnership with Heroic Labs, Codemasters would have incurred vast costs from retraining their current team as well as hiring experts to help them migrate and deploy to brand new infrastructure.  
  • Enhanced scalability 
    • GameSparks had no ability to scale up or scale down the solution. With Nakama and Heroic Cloud it now gives Codemasters the ability to scale up and down depending on the number of users playing the game. 
  • Player Data Retention.  
    • GameSparks stored player data such as username and password hashes as well as game progress. When GameSparks shut down, this data was deleted meaning that players would have lost access to their accounts and their game progress.  
  • Continued Online Features 
    • GameSparks provided a variety of online features within F1 Mobile Racing, such as multiplayer, matchmaking, and leaderboards. When GameSparks shut down, these features were no longer available.   
  • Continued business
    • F1 Mobile Racing was heavily reliant on GameSparks, the shutdown would have guarenteed a loss of players and revenue if a new solution had not been built.  

ABOUT

Codemasters

Codemasters is a British video game developer based in Southam, England. It is a subsidiary of American corporation Electronic Arts and managed under its EA Sports division.  Codemasters is one of the oldest British game studios, and in 2005 was named the best independent video game developer by magazine Develop. 

Codemasters is known for developing and publishing racing games, such as the Colin McRae Rally series, the Formula 1 series, and the Dirt series. The company has also released several other games in other genres, such as the action-adventure series Overlord, the tactical shooter series Operation Flashpoint, and the Brian Lara Cricket series. 

Working In Partnership

We're up for (almost) anything.

We believe that life is better in co-op (and if we can't help then we probably know somebody else that we can direct you to).  Get in touch.