Codemasters.
Codemasters engage Code Wizards to migrate LiveOps platform
Executive Summary
Codemasters – a subsidiary of Electronic Arts – required Code Wizards 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 day. As an already launched title, existing player data required to be migrated. Some 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 programming languages, making it difficult to guarantee compatibility.
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.
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 guaranteed a loss of players and revenue if a new solution had not been built.
Subscribe to our
newsletter
"*" indicates required fields