Trädvy Permalänk
Medlem
Registrerad
Jan 2017

Matchmaking funktion

Hej!

Som topicen skvallrar om, har jag lite frågor angående hur det går till när spelare/lag paras ihop för att mötas i en match i ett datorspel (detta gäller alltså inte dejting-forumet ).

Ponera att jag har funderat på att utveckla ett mycket mycket banalt spel i exempelvis c#, där spelet går ut på att 2 spelare möts i ett spel/runda där en av parterna måste komma ur segrande för att spelet ska bli klart. För att para ihop spelare med varandra, tycker jag att det verkar vara rimligt att använda sig av en matchmaking funktion/algoritm. Jag antar också att spelarna kommer möta varandra i en server skapad för just deras spel.

Jag undrar således om det är någon här som har lite information angående matchmaking och/eller "server-frågan" och vill dela med sig? Vart ska man börja?

Mina programmeringskunskaper är hyfsat begränsade, men jag har inte bråttom, och ser detta som ett sätt att bli ännu bättre på programmering.

Fråga mig om det är någon väsentlig information som jag har missat att delge!

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Maj 2004

Vet inte om du känner till Dota 2, men här är lite information om Valves matchmaking:

http://blog.dota2.com/2013/12/matchmaking/

Trädvy Permalänk
Medlem
Registrerad
Dec 2002

En vanligt förekommande algorithm är ELO. Finns enligt mig några begränsningar men inget som man inte kan lägga till undantag för själv.
https://sv.wikipedia.org/wiki/Elo-rating
Ett annat system är glicko. Påminner en del om ELO.
https://sv.wikipedia.org/wiki/Glicko-systemet

[size="1"]*signatur raderad*, referrallänkar behöver vi inte gömma i signaturer (§8 marknadsföring)[/size] Till MOD: Ditt smartskafft, man gömmer inte något som är helt synligt!

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2013

Först och främst, välkommen till Sweclockers!

Har inte arbetat med matchmaking funktioner, men det första jag började tänka på när jag läste din tråd var:

K/D Ratio
Player Level
Amount of time played

Om man t.ex. har 10 spelare i en server så kanske matchmaking funktionen bör kolla på dessa tre saker och para ihop rätt spelare för en så bra balans som möjligt. T.ex. någon loop som letar efter en summan av K/D ratio i båda teamen så att de blir ungefär lika stora? Och därefter finslipa med annan data?

Main || Intel Core i7 980X @ 4.12GHz || ASUS Rampage III Gene || Corsair Vengeance 6x4GB @ 1800MHz || EVGA GTX 780 Reference || Creative Sound Blaster ZxR || 2x Intel 530 240 GB || Western Digital Blue WD10EZEX 1000 GB || ASUS VG248QE (no G-sync) ||
Laptop || Lenovo Thinkpad X220 4291-37G ||
Project: Pentium Clockbox || Intel Pentium G3258 ||

Trädvy Permalänk
Medlem
Registrerad
Jan 2017

Tack

Hej alla!

Tack för er respons!

Matchmaking-funktionen som jag vill använda mig av behöver faktiskt inte ha den egenskapen att den ska kunna sortera spelare efter olika skicklighetsnivåer, det är helt enkelt helt slumpmässigt vem spelaren ska möta, oavsett hur länge hen har spelat, hur mycket hen har vunnit/förlorat etc.

Jag började fundera lite också, jag kanske börjar i fel ände? Jag känner att det kanske hade varit bättre om jag börjar fila på det här med hur man skapar en spelserver dit 2 spelare kan ansluta sig? Vad tror ni?

Trädvy Permalänk
Hedersmedlem
Plats
Linköping
Registrerad
Okt 2006
Skrivet av ibrakadabra:

Hej alla!

Tack för er respons!

Matchmaking-funktionen som jag vill använda mig av behöver faktiskt inte ha den egenskapen att den ska kunna sortera spelare efter olika skicklighetsnivåer, det är helt enkelt helt slumpmässigt vem spelaren ska möta, oavsett hur länge hen har spelat, hur mycket hen har vunnit/förlorat etc.

Jag började fundera lite också, jag kanske börjar i fel ände? Jag känner att det kanske hade varit bättre om jag börjar fila på det här med hur man skapar en spelserver dit 2 spelare kan ansluta sig? Vad tror ni?

Ja, det låter som en bra idé att börja med servern