With most games you buy at a shop, replayability is not prioritized. The completely opposite happens with coin-op games; each level will be played hundreds of times by the same player. This is mainly the starting levels, since they are the ones the player has to master if he wants to progress in the game. These levels have then to be thoroughly designed, each centimeter has to be perfect, gameplay-wise. The bulk of the production effort has to be focused on these levels.
Percentage of players playing each level, compared with its production effort.
Therefore, levels can't have bland areas, bad collision, a section which is not fun at all, or a lost opportunity (a good idea that has not been applied correctly), etc. If there's something that can be improved, something that's not fun at all, something wrong or missing... in the end, the player will get bored quickly, or even worse, annoyed, and that will be enough reason to stop playing the game.
A good tip for honing these levels is creating the game prototype for a level much later in the game, so when the first level is created later, all game features are already defined and well-polished, and it's easier to make a better design.
The same happens with game mechanics. If they are not perfect, they will quickly become annoying, and a strong reason for the player to leave the game, too. And remember, with coin-op games, cash does not come at the moment the player buys the game, but only after the player has been playing the game for a while.
With F2P games, the situation is very similar (specially for shooters). The player plays each level thousands and thousands of times in different game modes, so everything has to be perfect: each centimeter of the levels, each game mechanic, no lost opportunities... because, as we know, that means the player will leave the game and look for another one on which to spend his money.
One of the features we added to coin-op games is that game difficulty automatically adjusts to the player's play level. That way, each player has a personalized challenge that makes the game neither too easy nor too difficult, and let the player fully enjoy the game.
Our method was quite simple. We constantly measured player's performance and compared the player's data with the data we got ourselves playing on a perfect match. This let us know the player's skill level after the first five to ten seconds of play. From there, we only had to adjust a few game parameters to match the game to the player's level. During the rest of the game, we kept doing the same: constantly measuring the player's skill and varying the game difficulty slightly up or down depending on his performance.
Game progression and its corresponding dynamic difficulty in an arcade game.
Online competitive games, especially shooters, do the same via matchmaking. Matchmaking software looks for players with a similar level of experience and automatically matches them together. This way, the game is neither too easy nor too difficult, and, as result, players get the best possible game experience.
Matchmaking joins similar experience level player into the same match.