I've been noticing a problem with multiplayer games that have a large cast of characters/items. Instead of learning how to play the game, a large amount of time must be spent learning how all the characters differ from each other. Since the point of having a large cast of characters is to support different play styles and add variety to the game, newer players shouldn't have access to the entire roster.
League of Legends somewhat fixes this by forcing players to stick to the free roster or champions they have grinded for. Unfortunately its viewed more as a cash grab than a method of keeping the game understandable. Also, it stops players from learning how the other characters play by not letting the player use them, even though they still have to play against them.
Basically I was wondering what your ideas for solving this problem are (if you think it is a problem). My idea is to add a challenge/achievement behind unlocking characters that would test your knowledge of the game. And matchmaking would tend to only put players against people with a similar cast without change to the algorithm.
Alternatively there could be tiers of characters which would be unlocked dependent on your matchmaking tier, so the player would only ever play against characters they have access to.