Networked Lobby System
The first thing that the player is presented with in a game is the menu, therefore, I spent a lot of time developing the menu system along with the lobby system.
Players can create and join locally networked lobbies, whilst also being able to set maximum player limits. When in the lobby, the systems that I created will randomly assign two different map/mode selections. These map/mode selections can be voted on by players, with the number of current votes being shown to all players.
The UI utilises client-side prediction, to allow high-ping clients to have a smooth experience. Where their UI will locally update, and will only be changed if the server determines that their version of the information being shown is incorrect.
Depending on how many players are allowed in the game will depend on what the minimum threshold is of joined players, as well as the map/modes that can be selected. For example, a lobby of 3 people will not have a team-based gamemode made available to select from.