Skip to content
Ahsan Mehmood
All work

Inibuilds · Software Engineer · Aug 2022 – Jan 2023

Real-time Multiplayer Game Backend

C#/.NET backend for a Unigine multiplayer game: SignalR/WebSocket telemetry and entity sync, Redis state and leaderboards, auto-scaling on AWS.

Problem

A multiplayer game built on the Unigine engine needed backend systems for real-time play: keeping entities in sync between players, collecting telemetry for analytics, and managing sessions and leaderboards.

My role

Software Engineer on a 6-month contract, working on the C#/.NET backend, real-time messaging, AWS deployment and testing.

Architecture

Real-time multiplayer game backend architectureUnigine game clients and C# load-testing tools connect through an Elastic Load Balancer to C#/.NET services in an EC2 Auto Scaling group, which use SignalR and WebSockets for telemetry and entity sync. Redis holds session state and leaderboards and handles pub/sub. CloudWatch monitors the services.EC2 Auto Scaling grouppub/submetricsGame clientsUnigine · C#Load-test toolsC# · TPLELBReal-time hubsSignalR · telemetry · syncGame servicesC# / .NETRedissessions · leaderboardsCloudWatchmonitoring
Game clients connect over SignalR/WebSockets to C#/.NET services on auto-scaled EC2 behind ELB. Redis holds session state and leaderboards and carries pub/sub; CloudWatch monitors the fleet.

Key technical decisions

  • SignalR for real-time traffic

    Telemetry and entity synchronization run over SignalR/WebSockets, for real-time analytics and consistent game state.

  • Redis as shared state

    Redis holds session state and leaderboards and provides pub/sub messaging between services.

  • Elastic infrastructure

    Services run on AWS EC2 with Auto Scaling behind an Elastic Load Balancer, monitored with CloudWatch.

  • Load-tested with custom tools

    C# automation and load-testing tools built on the Task Parallel Library, plus unit and integration tests with NUnit and Moq.

Results

  • Real-time telemetry and entity synchronization for the game.
  • Game services deployed on auto-scaling AWS infrastructure with monitoring.

Stack

  • C#
  • .NET
  • SignalR
  • WebSockets
  • Redis
  • AWS EC2
  • Auto Scaling
  • ELB
  • CloudWatch
  • NUnit
  • Moq