I have a very strong belief that the game is poorly designed and that individual parts are not well separated (as showed by the tournament causing problems with war, when they shouldn’t influence one another at all).
I don’t know how the game is designed, but I’m pretty sure it’s not as simple as we would expect.
This would reduce the pool of possible matches. Depending on number of options, there would be several pools.
If one weak alliance falls into the pool where a lot of strong alliances are, how would you deal with it? Would you assign them a strong alliance or kick them out of the pool? How would you decide if you should kick them out of the pool? If you kick them out, do you remove all of their selections or place them into a less strict pool? How do you chose which selection to ignore?
Let’s say you have only the option of limiting stars (as oposed to limiting hero classes as well, for example). When one team has selected max 3* and another selected max 4*, would you match them together and make it max 3*? They could be ok with it. Let’s say you have an option of selecting max 4* and if no match max 3* else no restrictions. When do you say that you haven’t found a max 4** match and move to max 3* pool?
We don’t know how the matchmaking works, but I think we can be sure that it’s not simple. State-space search for the best or at least an adequate match is no easy task