Voltar para o Blog
Quest Log

Como Funciona o Matchmaking em um Jogo Online

Vários controles de videogame conectados por linhas de luz a um servidor central, com jogadores de diferentes regiões sendo agrupados em uma partida

Matchmaking explicado do zero: fila, lobby, MMR, ping, servidor dedicado ou P2P e o custo real de manter tudo no ar. Um guia honesto para indie começar.

Como Funciona o Matchmaking em um Jogo Online

Você teve a ideia: um jogo multiplayer, gente jogando junto, partidas online. Aí bate a pergunta prática que quase ninguém explica direito para quem está começando: como funciona o matchmaking, ou seja, como o jogo pega dois estranhos do outro lado do mundo e coloca os dois na mesma partida, no mesmo momento, de um jeito que dê vontade de jogar de novo. Este post responde isso do zero, sem fórmula inventada e sem esconder o custo, porque matchmaking é ao mesmo tempo uma decisão de design e uma decisão de negócio.

A boa notícia é que a versão que você provavelmente precisa no começo é muito mais simples do que a versão que você imagina quando pensa nos jogos grandes. A má notícia é que a versão dos jogos grandes é cara e complexa por bons motivos, e entender esses motivos evita que você prometa algo que não consegue manter no ar.

O que é matchmaking, afinal

Matchmaking é o sistema que junta jogadores em uma partida. Só isso. Ele responde duas perguntas: quem joga com quem, e onde essa partida vai acontecer. Tudo o que parece complicado no assunto é só camada em cima dessas duas perguntas.

A forma mais simples de matchmaking do mundo é um botão de convidar amigo. Você abre o jogo, gera um código, manda pro seu colega no WhatsApp, ele digita o código e pronto: vocês dois estão na mesma partida. Isso já é matchmaking. Ninguém precisa de fila automática, de nota de habilidade nem de servidor gigante pra isso funcionar.

A forma mais complexa é a fila automática de um jogo competitivo grande. Você clica em jogar, o sistema te coloca em uma lista de espera junto com milhares de outras pessoas e, nos bastidores, um algoritmo tenta montar times equilibrados considerando habilidade, região, ping e há quanto tempo cada um está esperando. Entre esses dois extremos existe um mundo inteiro de opções, e a graça de planejar bem é escolher o degrau certo pro seu jogo.

Ranqueada e casual: a mesma fila com objetivos diferentes

A primeira distinção importante é entre partida casual e partida ranqueada, porque elas puxam o matchmaking em direções opostas.

Na partida casual, o objetivo é diversão rápida. O jogador clicou em jogar porque quer jogar agora, não daqui a três minutos. Então o matchmaking prioriza velocidade: junta gente o mais rápido possível, mesmo que os níveis fiquem um pouco desiguais. Perder uma casual dói pouco, e a maioria dos jogadores prefere jogar logo a esperar por um confronto perfeito.

Na partida ranqueada existe algo em jogo, uma posição em um placar, uma divisão, uma nota que sobe e desce. Aí o equilíbrio importa muito, porque uma partida desigual estraga a competição e frustra os dois lados. O matchmaking ranqueado leva o balanceamento a sério e aceita fazer o jogador esperar mais pra montar um confronto justo.

Repare que é sempre uma troca: esperar menos e jogar contra qualquer um, ou esperar mais e jogar contra alguém do seu nível. Não existe fila que entregue as duas coisas ao mesmo tempo, e boa parte do trabalho de ajustar um matchmaking é decidir onde ficar nessa balança.

Fila e lobby: as duas peças básicas

Dois termos aparecem o tempo todo e vale separar bem, porque muita gente confunde.

A fila, ou queue, é a sala de espera. Quando você clica em jogar e o jogo diz procurando partida, você entrou na fila. Você ainda não sabe com quem vai jogar. O sistema está juntando gente suficiente e compatível pra formar uma partida. A fila é o momento antes de o grupo existir.

O lobby é a sala onde o grupo já está reunido, mas a partida ainda não começou. É onde os jogadores escolhem personagem, mapa, veem quem são os outros, marcam pronto. O lobby é o momento depois de o grupo existir e antes de a ação começar.

No matchmaking por código de sala, você pula a fila e vai direto pro lobby: quem tem o código entra na sala, e a partida começa quando todo mundo estiver dentro. No matchmaking automático, a fila vem primeiro, monta o grupo, e só então joga todo mundo num lobby. Entender essa ordem ajuda a desenhar as telas do seu jogo sem inventar complexidade que ele não precisa.

Próximo nível
Quer aprender isso na prática?

No CursoGame.Dev você sai dos tutoriais soltos e constrói jogos publicáveis, com trilha progressiva, quests práticas e feedback real.

Conhecer a plataforma
+500 alunos4.9/5Garantia 7 dias

Matchmaking por habilidade: a ideia por trás do MMR

Quando as pessoas falam de skill-based matchmaking, elas estão falando de tentar juntar jogadores de nível parecido. E pra isso o jogo precisa de um número que estime a habilidade de cada um. Esse número costuma se chamar MMR, de Matchmaking Rating.

A ideia geral vem do Elo, um sistema criado lá atrás pro xadrez. O princípio é simples e elegante: você ganha pontos quando vence e perde pontos quando é derrotado, mas o quanto muda depende de quem estava do outro lado. Vencer alguém muito mais forte que você vale muitos pontos, porque foi um resultado inesperado. Vencer alguém bem mais fraco vale pouco, porque era o esperado. Ao longo de muitas partidas, esse número converge pra perto da sua habilidade real, e o sistema usa ele pra montar confrontos entre gente parecida.

Não vou te dar uma fórmula pronta, e desconfie de tutoriais que garantem uma. Cada estúdio ajusta o próprio cálculo: quanto peso dar a uma vitória, o quão rápido a nota se mexe, como tratar quem acabou de chegar, como lidar com quem joga em grupo contra quem joga sozinho. O conceito é universal, os detalhes são decisão de design de cada jogo.

E aqui vai o aviso honesto: skill-based matchmaking só faz sentido quando você tem muitos jogadores. Pra montar uma partida equilibrada, o sistema precisa de gente suficiente na fila com nota parecida pra escolher. Se o seu jogo tem trinta pessoas online, não há de onde tirar o confronto perfeito, e forçar isso só faz todo mundo esperar eternamente. MMR é um problema bom de ter, e você só o tem depois de já ter público. Se o que você quer é guardar pontuações e mostrar quem está no topo, um ranking online no seu jogo Godot resolve a parte de placar sem precisar de fila automática nenhuma.

Região e ping: por que a distância importa

Habilidade não é o único critério. Tem um fator físico que atrapalha qualquer partida online: a latência, popularmente o ping.

Ping é o tempo que um dado leva pra ir do seu computador até o servidor ou o outro jogador e voltar. Ele é medido em milissegundos e é limitado pela distância física e pela qualidade da conexão. Um jogador no Brasil conectado a um servidor no Japão vai ter ping alto por pura geografia, e nenhuma otimização de código muda a velocidade da luz. Ping alto vira atraso perceptível: você aperta o botão e a ação acontece um instante depois, o que num jogo rápido é a diferença entre acertar e errar.

Por isso o matchmaking sério agrupa gente por região. O jogo detecta onde você está, mede seu ping pros servidores disponíveis e tenta te juntar com pessoas próximas, num servidor próximo. É mais uma troca a considerar: priorizar região deixa a partida fluida mas reduz o número de pessoas disponíveis pra te parear; ignorar região aumenta o pool de jogadores mas arrisca partidas com atraso. Em regiões com pouca gente jogando, esse conflito fica bem visível, e é comum abrir a região tarde da noite pra conseguir formar partida.

Pra um indie, a lição prática é modesta e útil: comece atendendo uma região só, a sua. Não tente cobrir o planeta no dia do lançamento. Uma região bem servida vale mais que cinco regiões vazias e caras.

Onde a partida roda: servidor dedicado ou P2P

Depois que o matchmaking decidiu quem joga junto, alguém precisa hospedar a partida de verdade, o computador que mantém o estado do jogo e sincroniza todo mundo. Existem dois modelos principais, e essa escolha mexe direto no seu bolso.

No modelo peer-to-peer, ou host, um dos próprios jogadores hospeda a partida. A máquina dele vira o servidor, e os outros se conectam nela. A grande vantagem é o custo: você não paga por máquina rodando a partida, porque quem paga é o hardware do jogador. É por isso que a maioria dos jogos de amigo, co-op e sala privada usa esse modelo. As desvantagens são reais: o host tem uma leve vantagem por estar mais perto de si mesmo, jogadores atrás de roteador podem ter dificuldade de conectar por causa do NAT, trapaça é mais fácil porque o estado do jogo mora na máquina de um jogador, e a partida morre se o host fecha o jogo ou cai a internet dele.

No modelo de servidor dedicado, a partida roda em uma máquina neutra que você aluga ou mantém. Ninguém tem vantagem de host, o jogo resiste melhor a cheat porque o estado é controlado por você, e a partida não cai quando um jogador desconecta. O preço disso é literal: cada servidor no ar custa dinheiro todo mês, e você precisa operar essa infraestrutura, ligar máquinas perto de onde tem jogador, desligar quando esvazia. É o modelo dos competitivos grandes justamente porque justiça e estabilidade valem o custo pra eles.

Vale separar bem uma confusão comum: mesmo o P2P costuma precisar de um serviço leve só pra os jogadores se acharem e atravessarem o NAT, um relay ou lobby. Isso é diferente de um servidor dedicado que roda a partida inteira. Um é um porteiro barato que só apresenta as pessoas, o outro é um salão caro onde a festa acontece.

O custo real de manter tudo isso no ar

Aqui está a parte que devolve o assunto pro terreno da decisão de negócio, e a que mais gente ignora.

Um jogo single-player termina no lançamento: você publica e o custo de produção acaba. Um jogo online é um serviço que custa enquanto existir um jogador querendo entrar. A conta chega todo mês, venda o jogo bem ou mal. E o paradoxo cruel é que, no online, sucesso também é custo: mais jogadores simultâneos significam mais servidores, mais banda, mais backend de matchmaking ligado o tempo todo. Um flop te faz pagar por servidores vazios; um estouro te faz pagar pela multidão.

O matchmaking automático soma um custo próprio a isso. A fila precisa de um backend rodando continuamente pra receber os jogadores, casar as notas e distribuir as partidas. Não é a coisa mais cara do mundo, e serviços prontos têm camada gratuita pra jogos pequenos, mas é mais um serviço ligado, mais uma coisa que quebra às três da manhã, mais uma variável na conta. Se você quer os números por trás disso montados como planilha, o post sobre quanto custa manter um jogo online abre a conta por modelo de arquitetura.

A regra prática que eu daria: nunca prometa online sem antes olhar duas variáveis, o pico de jogadores simultâneos que você espera e o número de regiões que pretende atender. Essas duas dimensionam quase tudo o resto. Prometer multiplayer com servidor dedicado global na página da loja é assinar um contrato de custo recorrente, e contrato se lê antes de assinar.

Por que o indie deve começar simples

Junte tudo e a conclusão é bem direta. Fila automática, MMR, agrupamento por região e servidores dedicados são ferramentas fantásticas quando você tem milhares de jogadores online ao mesmo tempo. Antes disso, elas são complexidade cara resolvendo um problema que você ainda não tem.

O caminho honesto pra um indie é começar pelo lobby por código, a sala privada. O jogador cria uma sala, recebe um código, manda pro amigo, e joga. Sem fila, sem nota, com host de um dos jogadores. Isso entrega a sensação de jogar junto por quase nenhum custo, funciona com dois jogadores ou com dois mil, e não te deixa refém de uma conta mensal antes de o jogo provar que tem público. A maioria dos multiplayer indie de sucesso viveu muito tempo assim, e vários nunca precisaram de mais que isso.

Só depois que o jogo tem gente de sobra tentando entrar é que faz sentido investir em fila automática e pareamento por habilidade. Nessa ordem você constrói o caro em cima de um problema comprovado, não de uma expectativa. Se você ainda está montando a base técnica pra chegar até esse ponto, um curso de criação de jogos para iniciantes te dá o chão de programação e design antes de encarar netcode, que é um dos temas mais difíceis do desenvolvimento de jogos.

Matchmaking não é um botão mágico que você liga e pronto. É um conjunto de decisões, cada uma com uma troca entre velocidade, justiça, alcance e custo. O maior erro do iniciante é copiar a solução dos gigantes antes de ter o problema dos gigantes. Comece pelo código de sala, deixe o jogo provar que merece uma fila, e só então gaste dinheiro construindo uma. É mais barato, é mais rápido de fazer, e é o caminho que mantém você jogando enquanto o resto ainda está debugando servidor vazio.

Perguntas frequentes

O que é matchmaking em um jogo?

Matchmaking é o sistema que junta jogadores em uma mesma partida. Ele resolve duas perguntas: quem joga com quem e onde essa partida acontece. Pode ser tão simples quanto uma sala com código que você manda pro amigo, ou tão complexo quanto uma fila automática que pesa habilidade, região, ping e tempo de espera pra formar um confronto equilibrado. Todo jogo online tem alguma forma de matchmaking, mesmo que seja só um botão de convidar.

O que é MMR no matchmaking?

MMR quer dizer Matchmaking Rating, uma nota interna que estima a habilidade de cada jogador. A ideia geral vem do sistema Elo, criado para o xadrez: você ganha pontos ao vencer e perde ao ser derrotado, e o quanto muda depende de quem estava do outro lado. Vencer alguém muito mais forte vale mais do que vencer alguém mais fraco. O jogo usa esse número pra tentar montar partidas entre pessoas de nível parecido. Cada estúdio ajusta a própria fórmula, então não existe um cálculo único e universal.

Preciso de servidor dedicado para ter matchmaking?

Não. Matchmaking e servidor dedicado são coisas separadas. O matchmaking só decide quem joga com quem. Depois que os jogadores foram agrupados, a partida pode rodar em um servidor dedicado que você aluga ou na máquina de um dos próprios jogadores, o modelo host ou peer-to-peer. Um indie pode ter um matchmaking simples por código de sala sem manter nenhum servidor de partida no ar.

Quanto custa manter um jogo online no ar?

Depende inteiramente da arquitetura. Sala privada por código com host do jogador custa quase nada, porque a partida roda na máquina de quem joga. Servidor dedicado alugado gera conta mensal que cresce com jogadores simultâneos, regiões atendidas e tráfego. Matchmaking automático ainda soma um backend que fica ligado o tempo todo pra receber a fila. Antes de prometer online, monte a conta olhando o pico de jogadores e o número de regiões.

P2P ou servidor dedicado, o que escolher?

P2P é mais barato e mais fácil de começar, porque não há máquina sua rodando a partida, mas traz vantagem do host, portas fechadas por NAT, brechas de cheat e partidas que morrem quando o host sai. Servidor dedicado é justo e estável, resiste melhor a trapaça e não cai quando um jogador desconecta, só que custa dinheiro todo mês e exige operação. Para um jogo pequeno de 2 a 4 jogadores entre amigos, P2P quase sempre é a escolha certa no começo.

Qual a diferença entre partida ranqueada e casual?

Na partida casual o objetivo é diversão rápida, então o matchmaking prioriza velocidade: junta gente logo, mesmo que os níveis fiquem um pouco desiguais. Na partida ranqueada existe algo em jogo, uma posição ou nota, então o sistema leva a sério o equilíbrio de habilidade e costuma esperar mais pra montar um confronto justo. É a troca entre esperar menos e jogar contra qualquer um, ou esperar mais e jogar contra alguém do seu nível.