Proposal for Matchmaking Improvement in Age of Empires IV

Hello to the entire community! I hope you’re enjoying Age of Empires IV and are excited about the upcoming expansion. I believe I’ve found a way to make the game’s Matchmaking system fairer and more satisfying for the player base, both in 1v1 matches and team matches. I can anticipate possible drawbacks, but I’m prepared to address relevant questions.

Matchmaking System based on Patience/Impatience Rank Level Parameters.

Currently, the Matchmaking system tends to match players or teams more or less evenly depending on the waiting time for one of the two players or teams in the queue. The result of this is that, on several occasions, you or your opponent wait for a match for 10 minutes only to end up with mostly unbalanced games. This is because the player traffic isn’t high enough for the current system to be satisfactory, especially in team games and at the highest and lowest rankings in 1v1. Therefore, we need to explore other avenues. In Gold, Platinum, or Diamond 1v1 matches, this problem isn’t as prevalent, although they might occasionally match with a high-level player.

My solution would be as follows: There would be three search parameters based on your patience or impatience and the balance or imbalance in finding matches. The three parameters would be Very Patient, Patient, and Impatient.

- Very Patient: From minute 1, you can play against players of your same level. If you’re in Platinum I, you’ll only be matched with Platinum I players, and if you’re in Conqueror III, only with Conqueror III players. You’ll have a longer search time, but you’ll have completely balanced matches.

- Patient: Unlike “Very Patient,” you can play against players of your same level, but also one level above and one level below. If I’m in Platinum I, I can be matched with a Gold III or a Platinum II player (provided they have the same “Patient” parameter). If I’m in Conqueror III, I can be matched with a Conqueror III and a Conqueror II player, as long as the Conqueror II player has the “Patient” parameter as well. You’ll still have to wait a bit, but for a shorter time, and there can still be good balance in the matches.

- Impatient: In this parameter, you can be matched against players of your same level, up to 2 levels higher or 2 levels lower. If you’re in Platinum I, you could be matched with a Platinum III or an Gold II player. If you’re in Conqueror III, you can only be matched against Conqueror I, II, and III players, as long as those players have the parameter activated.


- The system would ALWAYS prioritize, within the selected parameter, matching players who are closer in Elo/Rank level score. For example: If I’m in Platinum I, I choose “Impatient,” and there’s 1 Platinum I, 1 Gold II, and 1 Platinum III in the queue, it would prioritize matching me with the Platinum I.

- A player with the Impatient parameter can be matched with a player with the Patient parameter, as long as their parameters match in the queue (they are 2 players of similar level, for example).

- In team games, an average Elo score would be established among the players on the same team. For example: Player with Diamond II (1250 Elo) and teammate with Platinum III (1180 Elo) = Team Rank level: (1250 + 1180)/2 = 1215 (Diamond I). Team players (especially in 3v3 and 4v4) need to understand that the “very patient” and “patient” system may involve a long wait, but it will result in balanced matches. It’s your choice. Even some one more parameter could be added in those modes.

- My system would reward all types of players, depending on the parameters they choose.

Mid-level players won’t be affected because they will continue to be matched against players of approximately their skill level (without experiencing highly unbalanced matches anymore), while lower Elo, higher Elo, and team players will see improved matchmaking.

If you find a flaw, I invite you to comment on it, and if I need to make corrections, I’ll be happy to edit it.

1 Like

Your system would actually hurt the users at the extreme high and low ELOs and here is why:

Normal the system ALREADY tries to match ELOs but will deviate based on longer que player’s wait time.

So say you’re beasty clearly the rank 1 (2 and 3 on the ranking board with over 2200 elo points). It’s fair to say he might have traditionally a longer que than the average player, but in your system he could potentially wait even LONGERRR and NOT bc he’d necessarily be patient player but rather a player like me who barely can say north of 1400 elo would absolutely be patient as to NEVER throw away my precious ELO vs beasty or any others of his kind. The main reason QUE DODGE, even at the cost of a timeout, is a thing is to protect ELO!! (yes some dodge for other reasons but you get what I’m saying).

Ppl that would benefit are the mid range patient players as they would never suffer the experience i described above. Ppl that would experience no change is the mid impatient player. Ppl that would likely suffer more are the top and bottom players.

The only real fix would be to increase the player base
and increase player skill across the spectrum which of course isn’t something you can snap your finger and do.

The issue of matchmaking needs to be addressed in the short to medium term, as it has been one of the main reasons why some players have quit the game or taken a break.

The amount of time it takes for a 2200 Elo player to be matched with a 1700 Elo player is approximately the same as being matched with a 1400 or 1200 Elo player, because from minute 6 onward, the algorithm opens the filter completely to match you with “whoever.” Dodging should be more heavily penalized after implementing this hypothetical measure.

With this system, a top player can face the player with the closest Elo in the queue from minute 1, without having to wait for several minutes.

I must be missing something. If 2200 beasty is in que now and there is only a 1700 elo player in que. How would your system handle this matching of these 2 player differently than the current system?


This is like me complaining that as soon as I played ranked, I get matched with players who will beat me.

It happens. It will happen.

The point of matchmaking is not to ensure this will never happen. The point of matchmaking is to reduce this as much as possible. Catering to players who make this worse because they never ever want to lose their “precious” ELO isn’t helping solve the poblem.

Does it suck? Yes. I have frequently been the less-skilled player in any game you talk about.

But there are always less-skilled players. They have to exist, for more-skilled players to exist.

Sorry if this seems harsh, I have nothing against you. But what you’re describing is a fundamental part of “playing an online game”. Sometimes you’ll get games you can’t win. It happens.

We disagree on what level of separation between 2 players is COMPETITIVE…

IMO, there is nothing COMPETITIVE about a legit gold 1 (NOT A SMURF A LEGIT GOLD 1 700 elo) player can hope to achieve vs a legit conqueror 1 (1400 elo). Similarly the 2200+ elo players skill is so far removed from a mere 1400 ish elo players that there isn’t a legit means of COMPETITION?? If I were being coached or something that would make sense. But being GRATEFUL? Or even being CONTENT about facing such overwhelming odds makes something wrong with my level of competitiveness? Or maybe it makes me more realistic? IMO.

With my system, from minute 1 they are playing.

With the current system, from minute 5-6, but he can also match a 1400 if that player was in the queue.


You didn’t detail what about your system would allow for 1 minute match between a 2200 elo player and 1700 elo player? the 3 options of “patient; very patient; impatient” only would allow at minute 1 for the 2200 elo player to match with 1700 IFFFFF the 2200 elo picks impatient ANDDDD the 1700 elo picks impatient?? otherwise the if the 2200 elo player picks impatient BUT the 1700 elo picks very patient… that specific 1700 elo player would NEVER face that 2200 elo player. AND IF every 1700; 1500; 1400 etc etc all predominately pick VERY PATIENT?? That 2200 elo player will now wait even LONGER than 6min to match with ANYONE?! since its now undetermine whom the players outside his normal elo window would happen to be under the patient or impatient criteria.

No, I completely understand. And I’m not saying these players should be matched, except that any matchnaming system ultimately needs to find people a game.

Longer queues result in more accurate results, but the returns are diminishing. It’s about keeping the balance between “length of queue” and “fairness of match” as much as possible.

But each match is a data point in the set. There are going to be matches that are outliers. You can’t avoid them.

Both are Conqueror III…

I dont see how this would solve any of the issues you are describing but make the matchmaking slower for everyone involved.

Your hypothesis might just be faulty, and the 1 minute becomes longer.

Also sometimes, lets say you are on a winning streak, you might have to get challenged by someone better as you might be too good for your rank etc etc.

There has been a nice video about matchmaking been released recently.

It uses an example playerbase of 100,000 players, which is a lot more then AoE4 has to work with.

AoE4 has between 5000 and 10000 people online on Steam.
The number of Microsoft Store/Gamepass players is likely lower so the overall number won’t be twice as high.
A lot of those people play single player or custom lobbies so they are not in the matchmaking pool.

Luckily ping is less important in an RTS compared to a shooter but you don’t really want to match with someone on the other side of the world either.
Larger distance also potentially create more disconnection issues.

But anyway let’s say there are 5000 people playing matchmaking (very optimistic number).
Let’s say half of them play 1v1 → 2500 players.
Then all the players that are ingame are also not available for matching which reduces the pool again to maybe 1/10 (that would mean you spend 10% of your time waiting and 90% of the time playing and loading)
Now it’s only 250 players.

In reality the number will likely be smaller.

Then we brake that up into the different ELO brackets and you will notice that there are not many players left.
It it’s just 10 equally sized ELO brackets that would mean only 25 people might be looking for a match at any given time that you could possibly be matched with.
And we haven’t even factored in any ping requirements. If you only match people from the same continent the number will get much smaller.

But ELO brackets are not equally distributed. There are a lot more people close to the Average ELO (1000 I think) then higher ones like 2000+. So the higher up you are the less people are in your skill range.
So the system has to choose, letting people wait for 30 minutes or matching them to someone that is not that close to their skill.

Developers can measure how quickly players will stop queueing or even quit the game when they don’t find a match.
So they know how much they have to prioritise queueing times.

For team games it’s a whole lot more complicated.
Smaller playerbase and more players per match.
And then we have premade teams too. We can’t give them isolated matchmaking because then to potential pool of players becomes even smaller.

Matchmaking has to balance 3 things:

  • ELO
  • Ping
  • Queue time

Which usually means with increasing Queue time the search range for ELO and Ping increases.

But how do you prioritise those 3 factors?

If you know the size of the player base and the average game length (including everything that happens between finding a match and clicking queue again) then you can calculate how much better you expect the matches to be when you queue longer.

Imagine the match time is always exactly 10 minutes then if you queue for 10 minutes every active player will have ended their match and could potentially matched with you.
That means queueing longer then 10 minutes would only get you the people that start playing the game after you started queueing which are a lot less people.
That means you have diminishing returns.
The longer you wait the less new potential matches will appear.

The first few seconds on of queueing on the other hand already check through all currently queueing people at once.

The more time people spend queueing the easier it is to find a good match (since more people are queuing) but if it’s easier to find a match the queue times become shorter.
That means it automatically balances itself out.

So letting people choose longer queue times would likely not result in noticeably better matches. It would more likely result in people being more angry because they waited longer to get a equally bad match.

So the only thing that could make sense is let people prioritise between ping and ELO.
But in the case of AoE4 ping is likely already a low priority anyway.

1 Like

You said all that to say… we need more active players especially at the high and low elo ranges? Lol

(Good read).

The more players a system has the better results it will have.

The ELO distribution will always be more or less the same.
If there is an influx of new players that are all bad then the ELO of all the existing players will rise a little without them actually getting better at the game.

To get the best results now it’s the best idea to play at the time when most people are online, so at the evening and on weekends.

I hope you won’t take offense, but thanks to ChatGPT, I was able to condense your text.

"In Age of Empires IV, the number of players online varies between 5000 and 10000 on Steam, and it’s likely lower on the Microsoft Store/Gamepass.

Many players engage in custom matches or play solo, not in matchmaking, further reducing the available player pool, possibly to around 250. ELO brackets are not evenly distributed, making it challenging to find players of similar skill.

Matchmaking has to balance ELO, ping, and queue time, usually expanding the search range with longer wait times. Prioritizing longer wait times wouldn’t significantly improve matches since there would be fewer new players in the queue, resulting in diminishing returns. The priority could be between ping and ELO, although in Age of Empires IV, ping might already have low priority."

I don’t think it’s 250 in the pool; perhaps around 300 for each game mode is more accurate.

Incentives can be provided to encourage playing at specific times of the day, and a mini-game could be added to the matchmaking process or the number of players could be increased (what I’ve suggested is in response to the lack of players and is an emergency measure) or prioritize skill over ping in the queue.

Moreover, an alternative approach to mine is to slightly widen the filter from minute one, do so much less aggressively per minute than it currently does, and incorporate a mini-game.