Think rubber banding, part of the fun for the player is thinking they have a chance. Either by splitting up the players into leagues based skill levels (star craft 2), or fudge the game slightly (or significantly in mario kart's case)
My gameplay involves 32 human players playing against each other in football for a title that only one can win. Each season takes a month.
That's 32 shades of grey, with 31 of those shades being losses.
How do you rubber band that? I'm about to build a facebook app for our game, and I'm trying to brain storm solutions to this problem.
The only answer I have so far is make 32 team leagues, with 16 fairly inept CPU players. But not indicate they are CPUs, so that humans believe they are beating 31 other humans, even though the reality is they are beating 15.
This cuts my problem by a lot, but adds overhead, and removes a lot of the challenge.
The problem is in seeing it as a single competition. Have small sub-competitions with a higher luck component, so that people can experience winning a game, or even a round on the way to getting good enough to win a whole season. Make those wins satisfying and people will happily take a beating overall.
The idea of several different goals is how the US football system works. Most games in the season 'count' by improving your seeding in the playoffs but it's also binary so you get in or don't. Adapting a similar system for video games could work vary well.
I would suggest banding things so 20 teams compete for a spot in the playoffs which consists of 16 teams. (aka 16 people get a win at the cost of 4.) And in the actual playoffs you only lose one game, so rank people based on what round they get to. Something like winner!, (A++) lost final game, (A+) final 4, (A) final 8, (B) got into playoffs, (Try again)did not get into playoffs.
The secret is letting people move on as soon as they can't win any more while making them feel like getting as far as they did is still worth something. Lost the first 6 games? Hey start over it's ok, I hope you learned how the game worked etc.
A couple ideas: (1) do what you can to make sure the outcome is in doubt until near the end, and (2) arrange so that the person "in the lead" changes often. Only one person can win, but a lot of people can feel like they were close to winning.
If your players are mutually anonymous, have the worst player play against multiple other teams each week, soaking up the losses. Each player gets their own Potemkin village where half their opponents are actually copies of the worst player. Now you have 1 loser instead of 31.
Speed up gameplay with UI improvements, etc, so that players can compete in more simultaneous (staggered) competitions, increasing their chance of a good score.
Do you have a tunable AI to test players against, for making sure they get into the right skill-group? If people are in a good group they'll enjoy a loss more than if they're totally outmatched but somehow forced to play it out. The game takes so long it'd be discouraging to try to learn it while losing badly. Maybe let people drop out at any point (to join a game starting today), and be replaced by a bot of their skill? This could also handle no-shows.