Spielerando

What to measure

Learning paths through this topic

Too many events to store, so keep only a share of them without breaking the matches

If you keep a random tenth of all events, every match is left with holes and nothing adds up. This entry shows how to decide once per match, so that the matches you keep are complete and the totals can still be estimated.

Events from different players cannot be put in order because their clocks disagree

If you want to know who acted first in a team, the time on each device is not enough, since devices can be minutes apart. This entry shows how to estimate the difference from a few exchanges with the server and how sure you can be.

How long does a lobby really take to fill when people come and go?

Counting arrivals makes lobbies look full far too early, because the same person can walk in and out several times. This entry explains what to replay from the logs so the fill time and the number of dropouts are honest.

Which players were away from the keyboard in a team match, and for how long?

A teammate who stands still hurts the whole group, but the time since the last action only tells you something if you also look at the start and end of the match. This entry shows how to measure the longest idle stretch of each player.

Show where teams die on the map without exposing a single player's habits

A heat map is easy to make and easy to get wrong in a way that exposes people: a cell that one player visits often looks like a hot spot but is really just that player. This entry shows what to count and what to hide.

How long do players wait for a match before they cancel the search?

One overall cancel percentage hides the moment patience runs out. This entry shows how to read the waiting data so that people still searching, and people who were matched early, are not mistaken for people who stayed patient.

Is one teammate doing all the work, or did they just play longer?

Comparing who dealt the most damage in a team punishes players who joined late or left early. This entry shows a fairer way to tell a real carry from a long stay, so your balance changes do not fix a problem that was not there.

Is the lost data spread evenly or does it vanish in big chunks?

Two connections can lose the same share of messages and feel completely different, because a long gap freezes the game while scattered holes go unnoticed. This entry shows how to measure the gap sizes from numbered messages.

How many players are online at the same time, and when is the busiest moment?

Your server list shows who is online now, but not how busy it got yesterday evening. This entry shows how to turn start and end times of play sessions into the busiest moment and the average load, without counting people twice at the handover.

The average delay looks fine, but players still complain about lag

An average can be perfect while one in twenty moments is awful, and that is the moment players remember. This entry shows which figures to report per region, and what to do with the failed measurements that otherwise spoil everything.

Each player's game reports a different winner: whose result do you trust?

When every device reports the result of the same match on its own, the reports can disagree because of lag, a bug or someone cheating. This entry shows how to settle the result by comparing reports and how to flag matches that cannot be settled.

Log where players spend time on a map without storing every step

Positions logged every frame make huge files and, worse, count a crowded corner just because the game ran faster there. This entry shows how to store time spent per square instead, small enough to send and fair across fast and slow machines.