Arcadigo guide

What Makes an Online Matchmaking System Fair?

A clear look at rating ranges, queue time, latency, AI disclosure, disconnects and server-verified results.

Fair does not mean perfectly equal

Players rarely have identical ratings, latency and queue start times. A matchmaking system has to make a reasonable trade: first match the requested team size, begin with a narrow skill range, prefer healthy network conditions and widen the acceptable range as real waiting time grows.

The rules should be consistent and explainable. Quiet queues should not be hidden behind fake activity numbers. If a system estimates wait, the estimate should come from measured data and be labelled as an estimate. When there is too little history, showing elapsed time is more honest.

One active ticket per player

A queue ticket normally includes player or guest identity, game, requested team size, selected loadout, rating, estimated region, queue start, connection identity and whether AI is permitted. Allowing the same identity into several queues creates races and can reserve opponents unfairly. A robust system rejects a second active ticket, validates the loadout, supports cancellation, expires abandoned tickets and removes disconnected clients.

Join attempts also need rate limits. This prevents an automated client from repeatedly entering and leaving to sample opponents or overload room creation.

Rating needs the right population

An Elo-style formula compares the observed result with an expected result based on rating difference. Beating a much stronger opponent should usually produce a larger gain than beating someone far below your rating. The same match applies complementary changes when both players are eligible.

The input population matters as much as the formula. Mixing AI results into a board labelled human competition makes the number ambiguous. Arcadigo holds Bumper Bash competitive rating constant in every AI match. Guests and unranked private challenges can play normally without silently changing the ranked pool.

AI should be a declared fallback

An AI opponent can shorten a quiet queue, provide practice and let a first-time visitor understand the game. It becomes deceptive when the interface presents it as another person.

Disclosure should happen before the match, remain visible during play and continue into statistics. AI should use the same physical constraints, respond after human-like delays and make profile-appropriate mistakes. It should not read future input. An “Expert” label can describe tactics, but it cannot excuse impossible speed or cooldowns.

Arcadigo separates two choices: Instant Match permits labelled fallback after a brief human search; Human Only never does. That gives the player control instead of burying the policy in terms.

Latency is part of competitive quality

Skill balance cannot rescue a connection with extreme delay or packet loss. Region is a useful preference, but location alone is not perfect; measured round-trip latency is better when available. The matcher can prefer candidates with acceptable delay, while the realtime simulation uses input sequencing, prediction, interpolation and reconciliation to make normal variations less disruptive.

The server should reject timestamps far outside an allowed window and impossible input rates. Those checks protect integrity without assuming every delayed packet is malicious.

Disconnect rules need context

An immediate loss on a brief network drop is harsh. An endless pause is unfair to the connected rival. A short grace period provides a middle ground: the player reconnects with a signed, expiring token and the interface shows the opponent’s disconnected state. After the grace period, a meaningful match can end by forfeit.

If both players disappear before real play, cancellation is more appropriate. If the server verifies its own failure, the system should void the rating change instead of punishing either player.

Results must be durable exactly once

The multiplayer server should decide the result, then send it to storage with a unique match ID and idempotency key. If a timeout causes a retry, the same request returns success without applying XP or rating again. Reusing that key with different data is rejected.

Good administrative tools preserve the event timeline and separate human from AI matches. A moderator can inspect suspicious inputs, invalidate a corrupt result and restore rating with an audit trail.

For Arcadigo’s concrete modes, read how matchmaking works or choose a queue from the Bumper Bash page.