Call for devs: Come build team matchmaker!

Post here if you want to help developing something for FAF.

Call for devs: Come build team matchmaker!

Postby Askaholic » 09 Jun 2020, 03:18

Team matchmaker is a solution to some of the many gripes about the current FAF experience. It aims to
1. Improve new player experience by reducing lobbysim,
2. Promote diversity of gameplay by increasing the number of frequently played maps, and
3. Introduce the possibility of competitive team games.

We hope that this will increase player retention and grow the community. You can find more extensive info on the project here: https://forums.faforever.com/viewtopic.php?f=2&t=17722

We have made some good progress so far, but our manpower is dwindling. If we want to get this thing deployed any time soon we will need
your help! Here's a sample of how we envision parts of the matchmaker might look (made by biass):

tmm_sample.png
tmm_sample.png (85.69 KiB) Viewed 4335 times


If you can contribute, leave a reply here or PM me (Askaholic) on discord.


Skills needed
These are ordered with the most urgently needed skills at the top. You only need basic proficiency in order to contribute.

Java programming
Spoiler: show
The client is written using Spring and JavaFX. We need someone to finish implementing the UI elements which allow players to join a matchmaker queue as well as invite each other to a party and join a queue together. This will require reading and displaying incoming data from the server. We also need to modify the play tab to hide any matchmaker games from the custom games tab.


Python programming
Spoiler: show
The server is written with asyncio. A lot of work has been done, but we will still need help adding features beyond the first release. We will need to extend the matchmaking algorithm to work for 3v3 and higher, allow players to join multiple queues at the same time, add additional "ready" checks after a match is found, migrate existing data into new tables, and more.


UX design
Spoiler: show
It would be great if we had someone to guide the client UI implementation, otherwise we will end up with something clunky and annoying to use. We need an interface which will display:
  • The available matchmaker queues
    • Name
    • Team size (1v1, 2v2, etc)
    • Time until queue pop
    • Number of players in the queue
    • Whether or not you are currently in the queue
  • Your party
    • Any pending party invites that you have
    • Who you have invited to your party
    • Who is in your party
    • What factions each player has selected
    • Who has readied up
  • The new ratings/leaderboards


Play testing
Spoiler: show
You will need to install pre-release versions of the client and connect to our testing sessions. These are organized on the FAF discord server https://discord.gg/hgvj6Af under the #faf-testing channel. Make sure to type
Code: Select all
!subscribe Tester
to receive testing related pings.


Code review
Spoiler: show
Even if you don't have time to contribute any code yourself, we still appreciate a second set of eyes reading over our code.


You can find a list of features that need to be implemented on our GitHub project: https://github.com/orgs/FAForever/projects/7

Current progress
The server side work is mostly complete. We have already hosted a few successful testing sessions in which we verified that the client was able to start team games automatically and that the matchmaker algorithm was able to find reasonable matches for queued players.

The client has an initial implementation of the party system which allows players to invite each other and accept invites, but its not entirely functional.
tmm_client_impl.png
tmm_client_impl.png (98 KiB) Viewed 4335 times


We always need more help with development at FAF. Even if you don't think you are ready to help with a big project like TMM, there are plenty of beginner friendly issues that need to be addressed.

If you can contribute, leave a reply here or PM me (Askaholic) on discord.
Askaholic
 
Posts: 6
Joined: 07 Aug 2019, 05:36
Has liked: 0 time
Been liked: 4 times
FAF User Name: Askaholic

Re: Call for devs: Come build team matchmaker!

Postby Avalsa » 21 Jun 2020, 13:54

Не нашёл в дисководе пользователя Askaholic (((
Avalsa
 
Posts: 1
Joined: 21 Jun 2020, 13:44
Has liked: 0 time
Been liked: 0 time
FAF User Name: avalsa


Return to Contributors

Who is online

Users browsing this forum: No registered users and 1 guest