Luftikus Games
8 min read

Available Multiplayer Solutions

Understanding Multiplayer – Part III

From the previous posts it's clear that multiplayer isn't purely a hardware or software matter. It's a tight interplay of both. That's also reflected in the multiplayer solutions available on the market. A multiplayer SDK always comes bundled with hosting tailored to it.

That's why in this post I want to cover the options available, and also provide a set of questions that can help developers become aware of their own multiplayer application's requirements.

Disclaimer: This article was written in 2024. Depending on when you're reading it, some of the information may no longer be current.

Evaluation Criteria

Software and hosting offerings make developers' lives easier by following a modular approach. Even at later stages, new features like friend lists, high-score databases, anti-cheat measures, etc. can be added and removed without much effort. This capability supports an iterative way of working without taking on too much risk. Available solutions mainly differ in the following areas:

  • Scalability. A good solution must be able to handle a large number of concurrent users and scale with a growing user base. It should also be able to absorb traffic spikes without a drop in performance.

  • Latency. Multi-user applications require low latency to guarantee a smooth experience. A good solution should be able to reduce latency by ensuring fast data transfer between users and the game server.

  • Reliability. Multi-user applications require a reliable solution to ensure the application is always available and that users can connect without issues. It should be able to handle errors and outages without disrupting the game or requiring manual intervention.

  • Security. A good solution should offer robust security measures to prevent fraud, hacking, and other malicious activity that could ruin the experience for users.

  • Flexibility. Multi-user applications are diverse and, depending on genre, target audience, and platform, require different features. A good solution should be flexible and modularly adaptable to meet the unique requirements of each application.

  • Cost. Finally, the cost of the solution is a decisive factor to consider. It should be affordable and offer a good price-to-performance ratio without compromising on the performance, reliability, and security your application needs. It's also important to find out how costs scale with demand.

Available Providers

The following providers offer a broad range of features and tools specifically geared toward developing and operating multiplayer games. Our own use cases (courses and training) aren't purely game-focused, but the requirements are usually the same. Choosing the right provider depends heavily on the specific requirements and budget of the development project.

The following providers are available to choose from.

Unity Gaming Services

  • Multiplayer Networking: Built-in tools for network-based multiplayer games, including a transport layer and relay services.

  • Matchmaking: Customizable matchmaking services for creating and managing user sessions.

  • Game Server Hosting (Multiplay): Scalable and reliable server hosting solution with support for multiple regions and auto-scaling.

  • Lobby Management: Management of lobbies and queues for a better user experience.

  • Player Insights & Analytics: Tools for analyzing user behavior and optimizing user retention.

  • Unity Integration: Tailored to the Unity framework and its components.

Microsoft Azure PlayFab

  • Backend Services: Scalable cloud services for storage, authentication, leaderboards, and real-time analytics.

  • Multiplayer Features: Support for matchmaking, lobbies, and party management.

  • LiveOps: Tools for LiveOps management such as remote config, A/B testing, and in-game messaging.

  • Analytics & Data: Real-time data analysis and reporting for deeper insight into user engagement.

  • Economy Management: Management of virtual currencies, in-game purchases, and inventory.

Amazon GameLift

  • Game Server Hosting: Highly available and scalable server hosting service with support for multiple regions and spot instances for cost-efficient scaling.

  • Matchmaking: Flexible matchmaking system built on Amazon Web Services (AWS).

  • Autoscaling: Automatic scaling of server capacity based on demand.

  • FleetIQ: Intelligent management of server fleets to optimize cost and performance.

  • Game Analytics: Integration with AWS services for advanced analysis and monitoring.

Agones

  • Open Source: Open-source project for managing and scaling dedicated game servers based on Kubernetes.

  • Kubernetes Integration: Uses Kubernetes to deploy, manage, and scale game servers.

  • Custom Game Servers: Support for custom game server implementations.

  • Autoscaling: Customizable auto-scaling features based on user count and server load.

  • Extensibility: High customizability and integration into existing DevOps workflows.

Pragma

  • Backend Services: A complete solution for multiplayer backend services, including account management, matchmaking, and social features.

  • LiveOps Tools: Support for in-game events, content updates, and real-time player support.

  • Scalability: Built for high scalability and performance, suited to a large number of users.

  • Analytics: Built-in analytics tools for monitoring and optimizing user engagement.

  • Customizable: Highly customizable for integration into existing game infrastructure.

Photon

  • Real-time Multiplayer: Real-time multiplayer solutions for various platforms, including mobile, PC, and console.

  • Cloud Services: Photon Cloud offers global server infrastructure for low latency and high availability.

  • PUN (Photon Unity Networking): A networking engine built specifically for Unity.

  • Voice and Chat: Built-in voice and chat features for improved user communication.

  • Flexible Pricing: Various pricing models that suit both small developers and large studios.

Questionnaire for Choosing a Multiplayer Solution

Developing a multiplayer application is a complex task that requires careful planning and strategic decisions. Before starting the actual implementation, developers should answer a series of questions that are decisive for the project's success. These questions influence both the choice of hosting and the software solutions for multiplayer features.

What kind of multiplayer experience should be offered?

  • Is it a real-time multiplayer game (e.g. shooter, racing game) or an asynchronous multiplayer game (e.g. turn-based strategy)?

  • The answer to this question determines the requirements for network latency and synchronization mechanisms.

How many users should be supported simultaneously?

  • Are these small matches with a handful of users, or massive multiplayer worlds with thousands of users?

  • This decision influences the scaling requirements and the choice of hosting solution.

Which platforms will be supported?

  • Will mobile, PC, consoles, or a combination of these platforms be supported?

  • Cross-platform support can place additional demands on networking and infrastructure.

How will matchmaking be organized?

  • Should it be simple matchmaking based on a few parameters (e.g. a room code), or a complex system with ELO ratings and regional restrictions?

  • The complexity of the matchmaking system determines the requirements for backend services and databases.

What security measures are necessary?

  • What measures are necessary to prevent cheating and manipulation?

  • Security requirements can influence the choice of authentication services and the implementation of additional security protocols on the server. Security requirements also determine the fundamental approach to the question of who has authority over the game state.

What kind of communication and social features are planned?

  • Will there be in-game voice chat, text chat, or other social interactions?

  • These features require special middleware solutions and influence the network infrastructure.

Taking the First Step

Developing multiplayer or multi-user applications is a complex and fascinating challenge, especially in the context of XR applications. This article series takes a comprehensive look at the many aspects developers need to consider in order to create a successful multiplayer experience.

Multiplayer essentially means synchronizing a shared game state over a network, where only the objects essential to the gameplay need to be continuously synchronized. This careful selection helps minimize the amount of data and optimize network performance.

Implementing multiplayer features requires committing to certain constraints early on, since later changes can be time-consuming and costly. The development process is slowed down and constrained by the need for synchronization and ensuring low latency. Still, there are numerous tools and SDKs that can support and ease the development process.

Another important aspect is authority over the game state. By default, many multiplayer SDKs take a server-based approach to prevent cheating and ensure reliable synchronization. However, this leads to latency issues, which can be mitigated with techniques such as client-side prediction.

The choice of network topology and the corresponding software solutions depends heavily on the specific requirements of the application. From peer-to-peer networks to dedicated servers, different approaches offer different trade-offs in terms of cost, scalability, security, and fairness.


In conclusion, integrating multiplayer features requires careful planning and strategic decisions. The availability of a wide range of SDKs and hosting solutions allows developers to find tailored solutions for their specific requirements and thereby create the best possible multiplayer experience.