Magic Brick Wars cover image
← Back to Portfolio

Halfbrick / Unity / C# Project

Magic Brick Wars

Live multiplayer strategy game – backend migration and online services work

Magic Brick Wars is a live multiplayer strategy game developed by Halfbrick. My work on the project focused on backend infrastructure, online services, and ensuring the game continued functioning after the deprecation of the Amazon GameSparks platform.

The project required migrating the entire backend to Heroic Labs Nakama while keeping the existing game logic functional. This involved rebuilding parts of the server infrastructure, writing new backend services, and implementing compatibility layers so the Unity client could communicate with the new backend without requiring a full rewrite.

Project Overview

One of the main technical challenges on Magic Brick Wars was the shutdown of Amazon GameSparks, which the original game backend depended on.

To ensure the game remained operational, the backend infrastructure was migrated to Heroic Labs Nakama. This required rebuilding parts of the backend architecture while ensuring existing gameplay systems, multiplayer features, and player data continued working as expected.

The work included server configuration, compatibility layers, backend code, and extensive testing to make sure the migration was transparent to the player.

Key Contributions

  • Migrated backend infrastructure from Amazon GameSparks to Heroic Labs Nakama
  • Set up and configured new multiplayer backend servers
  • Implemented server-side functionality using Go
  • Developed a C# wrapper replicating GameSparks data workflows
  • Maintained compatibility with existing Unity gameplay systems
  • Minimised the amount of client-side code that required rewriting
  • Ensured player accounts, progression, and multiplayer systems continued functioning
  • Improved backend reliability and long-term maintainability

Backend Migration

The original backend relied on Amazon GameSparks, which was discontinued. To prevent service disruption, the backend was migrated to Heroic Labs Nakama.

The migration required standing up new servers, implementing authentication, matchmaking, and data storage compatibility, and ensuring the Unity client continued working with minimal changes.

To achieve this, I built a custom wrapper layer in C# that replicated the GameSparks data handling patterns. This allowed the client code to continue interacting with backend data in the same way while routing those calls through the new Nakama services.

This significantly reduced the amount of code that needed rewriting and allowed the game to transition to the new infrastructure with minimal disruption.

Server Development

Parts of the backend server logic were implemented using Go as part of the Nakama server environment. This included handling player data operations and server-side game logic previously managed by GameSparks.

Learning Go during the project allowed me to contribute to the server-side code while ensuring it integrated cleanly with the Unity client and existing gameplay systems.

What This Project Demonstrates

  • Backend migration: Replacing a discontinued online service while maintaining a live game.
  • Multiplayer infrastructure: Setting up and integrating a new backend platform.
  • Cross-language development: Writing both Unity client code in C# and server code in Go.
  • Compatibility engineering: Building wrapper systems to minimise client-side rewrites.
  • Live service maintenance: Ensuring players could continue using online features without disruption.

Portfolio Navigation

Project Info

Project Magic Brick Wars
Studio Halfbrick
Role Unity / Backend Programmer
Engine Unity
Languages C#, Go
Backend Heroic Labs Nakama
Original Backend Amazon GameSparks
Focus Backend Migration, Multiplayer Systems, Server Infrastructure
Status Live Service Game