Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "matchmaking"
-
Anyone interested in a Matchmaking and -rating system for scorebased games (eg soccer) that runs better than Rocket League's?
-
Question directed to devs who know a bit about setting up middle sized architecture.
Prestory: Joined into development of a middle sized online game. Figured they created a monolith over the last 6 years up to a point where nothing works properly and nothing can be changed without wrecking the whole system. Figured a monolithic approach isn't such a great idea.
Current Situation: In a different, same scale online game development team, game itself working but team is struggling with architecture.
My job is to come up with an approach on how to set up masterserver/matchmaking/database etc. Reading through various articles about common principles (SOLID etc.), i figured that a microservice+event-/servicebus architecture may work for that kind of project.
The idea would be to have a global interface in which microservices can be hooked. So a client registers to a client handler on startup, then starts to queue for a game, the client handler throws an event on the bus to register the user to matchmaking. The matchmaker happens to listen to those events (Observer Pattern) and adds him to matchmaking, when a match is found it throws an event on the bus to connect the user to the server, etc. One can easily imagine a banhandler throwing in a veto to cancel such an action, metrics and logging is fairly simple to add (just another service listening to all events), additionally Continuous Delivery, FRP and such are also beneficial advantages and it is said to scale well.
The question is, would you do the same, is there maybe something i might be overlooking? Do you have better ideas?
Keep in mind that we are not too experienced and are bound to different languages (python, C++ and java mostly) and are a small (4 Devs) Team with different strengths.
Thank you for your feedback and criticism!1 -
"I'm Done Guessing My MMR – Riot, Just Tell Me Already!"
Okay, so let me RANT for a second.
You know what's worse than losing a ranked game?
Losing one after carrying your entire team, just to lose -15 LP, and then queueing up with teammates who look like they just installed the game five minutes ago.
At this point, I'm like:
"What even is my MMR? Am I cursed? Did I anger the League gods?"
Every time I win 3 games in a row, it feels like Riot rewards me with the most questionable teammates imaginable. Like, I legit had a Yuumi who built mobility boots first. MOBILITY BOOTS. Why, bro? Where are you running? 😭
I started thinking maybe it’s not just bad luck... maybe it’s my MMR secretly tanking while my LP lies to me. So I went down the rabbit hole—looking for any way to figure it out.
LoL MMR Checker actually gives you a solid estimate of your hidden matchmaking rating. Finally, I could see if I was punching above my weight or getting soft-carried by the system. Turns out, my MMR was lower than my current rank. Riot’s matchmaking wasn’t broken—I was just barely clinging to my tier. 😅
Moral of the story?
Never trust LP.
Trust the data.
Save your sanity.
End of rant.1

