Coder Social home page Coder Social logo

Comments (5)

prodigga avatar prodigga commented on July 17, 2024 3

Matchmaking should support group play.

IE I want to play a match together with my friend. I ask nakama to match make for me and my friend (maybe I provide both our UserIDs as well as our "MMR"). The server puts us together in to a match.

I guess it would also be important that the players be put into the same team within the match, so the server not only has to find a game with 2 free spots, but one with 2 free spots on the same team. (Currently server knows 'nothing' about a match - I guess it would need to 'know' about the concept of 'teams', how many 'teams' in the match, which player is in which team, etc.)

from nakama.

prodigga avatar prodigga commented on July 17, 2024

Maybe the API could be something like this:

var matchFindRequest = new NMatchFindMessage.Builder().
SearchRooms(string[]{"1v1","CaptureTheFlag","SearchAndDestroy"}).
AddSearchParam("MMR",50, 25).
SetTimeout(20).
Build();

client.Send(matchFindRequest , (INMatchMakingResult result) =>
{
  //found match
}, (INError error) => {
  //error
});

SearchRooms - Only match make with people in the same 'room'. This is just a way for us developers to filter out which kind of games the player is going to play in. Users do not 'create' rooms. Maybe developers create 'rooms' via command line on the server, similar to leaderborads? The developer can specify how many users per match in the room, etc.

In the game, player presses: Start -> Multiplayer -> Free For All -> Find Match so we send an NMatchFindMessage with SearchRooms(string[]{"FFA"}). If user selects Start -> Multiplayer -> All-> Find Match, we send an NMatchFindMessage with SearchRooms(string[]{"FFA","DM","CTF"}).

AddSearchParam - 'fuzzy' match making values. IE Pass in an "MMR" of "50"and a max search range of "25" (ie match against others with an MMR of 25-75. I am not sure if this is the 'best' way to do it, but just an idea.

SetTimeout Time out for the search operation. Return an error if match not found after this time?

INMatchMakingResult Contains a reference to the INMatch that was found, and also

var cancelMatchFind = new NCancelMatchFindMessage.Default();
client.Send(cancelMatchFind, //etc....

To cancel current match find operation?

Just suggestions

from nakama.

zyro avatar zyro commented on July 17, 2024

The initial framework for this feature is available on master since 46e50e1. Matchmaking criteria improvements remain scheduled for 0.14.0.

from nakama.

risheelk avatar risheelk commented on July 17, 2024

i like to add filters like range like rank 2- 4 and score 2000 -2800 etc
player will send this to server and server should match other who is also having rank and score within the range

from nakama.

mofirouz avatar mofirouz commented on July 17, 2024

This is now available on commit dc0a596 and will be available in Nakama 1.1.0+

from nakama.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.