and done
i know that hamps is lazy as fuck, so posting it here
system i came up with just because why the fuck not
matchmaking table, which is used to find apropriate matches
id | playerStatus | nick | ELO_player | timestamp
1 | LookingFor | rapist | 1605 | 13:58
2 | LookingFor | child | 1600 | 14:00
3 | Ranking | scrub | 1650 | 13:58
4 | Finished | noob | 1500 | 14:00
what can be added without increasing complexity:
matchmaking based on finite list of mods
how? by adding new column with mod player selected and adding one more filter for mod selected
anyway, table explanation:
playerStatus is a value that dictates the state of player, if he is looking for match or not
can be 3 values:
LookingFor - means player is looking for match
Ranking - means player is playing ranked match
Finished - means player finished his match or his search for match
and yeah, this thing is called a
fl0w chart
okay, so whats going on here?
1) player click multiplayer, he is given option to go ranked or not. if he goes unranked he goes to server browser and just plays as usual
2) player select to play ranked, matchmaking is initialized
3) checking if the player have an entry in matchmaking table ( played ranked match before ) if he didn't, new entry created and neutral ELO is set, if entry exist, continue
4) playerStatus in player's matchmaking entry is changed to
LookingFor,
ELO_player is retrieved from database and added to entry, current
timestamp added
5) checking entries in matchmaking table if there are other players
LookingFor, if not found, ask to cancel search, change playerStatus to
Finished to exclude his entry from search,
if not, wait and check again
6) if players are found, compare ELO, by making and interval of
ELO_player +/- 10,
filter entries in matchmaking table
that fit the interval, if not found, return to cycle and add +/-10 more, each time untill opponents are found
7) from players found select the one with
oldest timestamp why? the key priority is speed of matchmaking, therefor it's a deciding criteria
8.) set both players playerStatus to
Ranking to exclude their entries from search
9)
actual gameplay, can be first to 3 session or just one game, after match is resolved, update each players
ELO_player and set their playerStatus to
Finished
10) start looking for another opponent
if you want to critique or discuss / optimize it - go here:
http://forum.toribash.com/showthread.php?t=525259
ah btw, i still want drhax to be ran over by the truck,
Last edited by snake; Aug 6, 2015 at 02:32 AM.