Basically you ask what is called "matchmaking" in PC and console games.
The concept of displaying all online players or active matches is an early one in online multiplayer games, and I think he saw his time. Instead, try offering your players two options: Play with your friends or play against people of your skill level.
By showing someone a complete list of tens / hundreds or even thousands of games / players is just about to crush them. People are much more comfortable knowing that they play against people they know (and do not trust unsportsmanlike), or at least they play against someone of a comparable skill level. These 2 concepts are often called βfriendshipsβ (or friends lists) and βautomatchβ or skill-based weddings.
Unfortunately, from what I saw in the GameKit Framework , none of them are fully supported, at least until playing in non-LAN connections. You will either have to develop it yourself (and very few iPhone developers will have the resources to create and host it), or see if someone likes OpenFeint , ngmoco ( plusplus ), Chillingo ( Crystal ), etc. fit your needs. OpenFeint seems to be talking about matchmaking on its site, as well as the pros and cons in the plus. The OpenFeint registration process is the easiest and you immediately get access to your development SDK without prior approval.
Now here is one last thing to keep in mind: in small games there will be no player base in order to have enough simultaneous players so that everyone always finds the right match at any time of the day / week. Unless you have the encouragement and support of a publisher, or a tear-off blow, choosing a solution based on automatch is not the best choice and should not be your only way of dating. Ideally, your game should provide some step-by-step form of the game, so you can play asynchronously. This model did a great job for games like Words With Friends.
source share