Ranked matchmaking is the heartbeat of competitive multiplayer games. But there’s no one-size-fits-all matchmaker for games. Every studio wants something slightly different, from how players are matched to how ranks are tracked and rewarded. Out-of-the-box systems can only take you so far.
That’s why we built Extend, our framework for running custom microservices that override, modify, or extend the default behavior of AccelByte’s backend services. It gives studios full freedom to tailor how their backend works, without building an entire system from scratch.
In our previous post, we introduced the custom matchmaking app building using extend, a simple blueprint showing how developers can replace default matchmaking behavior with their own custom logic.
In this post, we’re taking it a step further with a ranked matchmaking app built using Extend to power custom skill ratings, leaderboards, and tier progression. This sample app shows how developers can:
All sample codes are available here:
At the heart of any ranked system is matchmaking. AGS matchmaking service can be configured to match players based on skill, measured by an MMR (matchmaking rating) or similar metric. Game developers can define custom rulesets that take player stats into account, such as win/loss ratio, recent performance, or a computed ELO value.
Here’s an example of a rule that pairs players within 500 MMR points:
As players win or lose, their MMR updates automatically, influencing who they’ll face next. This data flows through AccelByte’s Statistics Service, ensuring accurate matchmaking each round.
Every developer knows the trade-off: fair matches vs. fast matches. AccelByte’s flexible matchmaking rules allow for MMR flexing, expanding the MMR range over time so players aren’t stuck in a queue.
For example, you can configure the system to start with a 500-point difference and gradually expand to 1,000 points after 40 seconds. Combined with region-based latency expansion, this ensures players get fair and timely matches even in low-population regions.
On top of that, it is a good practice to allow players to match cross-region, especially when they are in a sparsely populated region or in a low population time. For example with this ruleset:
Matchmaker will expand the allowed ping to other regions for every 10 seconds the player waits, as long as the regions are still within ping range. It will start by only allowing players with 100ms ping, and expands by 50ms up to max 300ms allowed ping.
Once your MMR system is live, you can visualize progression using Leaderboards. These can track and display any stat like MMR, win streaks, or seasonal points and refresh on your schedule (daily, weekly, or by season). Leaderboards give players tangible milestones and foster healthy competition.
Extend doesn’t just make backend customization possible, it makes it faster. Our team used Extend to prototype the ranked matchmaking suite, combining human engineering with AI-assisted code generation to speed up development.
We even used an AI agent to generate the UI layer and connect components based on our written specifications, you can see a short demo video here. Here’s what that resulted in:
Each service runs as an Extend app that communicates asynchronously through Redis, allowing the system to scale horizontally and manage millions of players efficiently. Together, they demonstrate how Extend supports rapid, flexible development whether built traditionally or accelerated with AI tools.
All sample codes are available here:
Traditional systems require heavy backend work with custom APIs, data pipelines, and matchmaking scripts. With AccelByte’s backend services and Extend, you can:
Whether you're shipping a competitive FPS, a strategy game, or a team-based MOBA, AccelByte helps you deliver a fair, competitive, and engaging ranked experience.
This post is part of our Backend Customization with Extend series. In the previous article, we built the Core Matchmaking sample. Here, we extended that into a full ranked system. Next, we’ll explore how to use Extend to collect and reconcile match results automatically.