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:
/viewtopic.php?f=2&t=17722We 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 (85.69 KiB) Viewed 4852 times
If you can contribute, leave a reply here or PM me (Askaholic) on discord.
Skills neededThese are ordered with the most urgently needed skills at the top. You only need basic proficiency in order to contribute.
Java programmingThe 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 programmingThe 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 designIt 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 testingYou 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 reviewEven 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/7Current progressThe 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 (98 KiB) Viewed 4852 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.