Help with skill based matchmaking system

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    When you click play, I want to make a matchmaking system that matches you with other players from other servers, based on the skill (beginner, pro, elite etc.) and the gamemode you chose(ex: battle royale). I just want a working tutorial and customizable(and easy if possible :))

  2. What is the issue? Include screenshots / videos if possible!
    I dont know how to make the skill based matchmaking system

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I heard about OpenSkill and other matchmaking modules, but they are very hard to understand and to customize. Also there arent many MessagingService and MemoryStore tutorials out there

You can’t just ask for an entire framework without understanding how the basic system works. I suggest sitting down for a while and brainstorming how exactly you would think a system like that would work. After you have the generalized idea and core concepts, you can apply that to code.

Now, I will say, the system will employ some data storage system. This will hold the player’s rankings. This store, however, will need to have high availability and be able to handle constant updates and changes. So, I am not sure the standard Roblox data store system will work unless you implement a linked list or queue structure to filter out requests in the order received.

Past keeping track of the exact data which will be used to match players based on skill level, there will need to be some lobby system. You can use a memory store for this as it supports the usage of priority queues and ordered maps.

It is also possible to use messaging service; however, I don’t see how that would work in this case, as everything would be based on who is currently online. Also, constantly sending messages to servers and updating values is quite taxing on runtime. It would also be pretty hard to build a system not to drop requests or lose players in the queue with messaging service.

Apart from that, there isn’t much else I can say. You have to figure this out independently because I don’t think anyone would willingly hand over an entire system without any payment. And if they do, I would question the motivation or the code itself. As I know, bad coding practices are rampant on this platform, so it’s wise to learn how to do things manually.

2 Likes

I meant to send a working tutorial because i know no one would make a full tutorial here

If you want a tutorial, go search for one. If didn’t find one that’s probably because nobody made a tutorial on matchmaking like this, otherwise if you can’t find a tutorial how would we?

Just searched up and found this:

I don’t think there are any tutorials on this topic specifically.

1 Like