Skip to content

five-on-it / apps/api/src/matchmaking

apps/api/src/matchmaking ​

Quick play (GAME_DESIGN §13, TECHNICAL_SPECS §9.6): a player picks a playlist (co-op, versus, races, any) and the platform places them, with their party when they lead one (but its members held in a run or in another lobby's countdown or vote, who are invited instead), in the fullest public lobby of a mission of that playlist that takes them all (none of them kicked from it, every one admitted by its mission, room on one team), trying the next when one refuses after all; else in a seat of a public lobby's run under way that takes players then (joinInProgress: LobbyHub.fillRun, the group on the team with the fewest players, its answer saying how to get there); else it opens a new public lobby on the playlist's next mission, which remembers its playlist. Those it places in a lobby are ready: they asked to play now, so a lobby of strangers starts as soon as it has its minimum.

The playlists are playlists.ts': the curated games' multiplayer missions and the published ones whose version qualified for Respect, in a rotation across levels.

What Respect plugs in (QuickPlayGate, respect.ts): whether a player may be placed in a mission (the Respect gate), the pool they are matched in (the conduct pool: while enough players are in Quick play the Low band is matched with each other, a lobby Quick play opens keeping its opener's pool and taking only those of that pool; otherwise everyone is in all, and so is every lobby opened meanwhile), and their hidden skill (the versus lobbies whose members' mean is nearest the group's first). The group's standings are looked at first (warm), so the gate answers at once.

Classes ​

Interfaces ​