However, if you play a modern game, that's not what happens. If you queue up for any FPS or MOBA, there's a waiting time, even if there's hundreds of other players on. The matchmaker is trying to find players with similar Elo in similar locations with similar map choices and probably prioritizes players who have been waiting longer. That's a lot of parameters to balance. What is actually happening in that wait time? How does one go about deciding their parameters for when is too long to wait, when to keep waiting for potentially better matches even though you have enough players to start a match, etc. Then how is that actually implemented? Do I just block my mm server for 15 seconds in a loop and keep rechecking for "good" matches according to my parameters? (I am a hobbyist amateur, if that wasn't clear).
Interested in any tutorials, books, or research papers.