Getting Started
Introduction to AccelByte Gaming Services (AGS)
Backend Services
Skip boring dev work with plug-and-play systems for 80% of your game’s backend
Backend Customization
Build 20% of the backend that makes your game unique without managing it
Server Orchestration
Automate spinning up and scaling servers globally for smooth, low-latency sessions
Build Distribution
Deliver builds faster to testers worldwide so you can ship multiple times a day
Crash Reporting
Catch and fix bugs before players see with real-time crash data and full context
Tools & Utilities
Monitor gameplay, test your setup, and tweak your game without juggling external tools
Introduction to AccelByte Gaming Services (AGS)
Learn to use AGS with our demo game "Byte Wars"
Connect and get support with other members of the AccelByte Community
Submit and review tickets while directly connecting with AccelByte
Join our Discord for support, insights, and networking!
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.
Reach out to the AccelByte team to learn more.