Implement the ability to save and continue matches that require more than one victory.
In case some schemes, this could be handy, because it would remember not only the victories so far, but the collected crates and used weapons as well.
Adding a button for this would likely to be problematic, so it could be done using a chat command like "/save" which would save the match using a default name - ie. timestamp, players, etc. - or "/save filename" to name it something else.
The saved match would contain:
- The scheme file - this might be no problem at all.
- The players' names - this could be done by a list, or something, only saving the actual players, allowing spectators to join in mid-game or not to be required to join in order to continue the match. The player colors and joining order shouldn't matter. Also, it would be easier for players if this would be saved in a readable form, so if someone changed his/her nickname, it can be changed back to fit.
- The number of teams a player has - this could allow a player to continue a game with a different team, using a different color. In case of the players being listed like the example above, this info should go after each player in a numerical format, assigning a different number to each differently colored team, and storing these numbers after the players' list. This system would allow players to have more than one team of the same or different color, or allied teams.
- The list of weaponry each different colored team (or alliance) has - this could be saved, again, in a format similar to the scheme format, or as a simple list of weapons and how many does a team have. Either way, here, the scheme's setting of stockpile should be taken into consideration during loading, whether to fill up every weapon that the scheme provides and take away the others (-> no stockpile), to add the default weapons to the accumulated ones (-> stockpile) or to do nothing (-> antistockpile).
- The number of victories each team or alliance has.
To load a match, a command such as "/load filename" should be used, and a succesful loading should switch the users to the post-game/next-game lobby with each of the teams having their victory count set, and the weaponry information loaded to wherever that information is stored between games.
In case of something not going as the saved match would "except", an error message should be displayed in the form of a chat line. These errors messages should contain, in case of what went wrong, that:
- The saved match's file is corrupted.
- One or more players are missing - here, the possibility of someone's nickname not being the same as it was during the last time should be noted, as well as which player is missing.
- One or more teams are missing - since the loading would match the teams with the players, this could display who's team is missing too.
And that's probably it, I hope I provided as much details and ideas as possible. :)
IMHO this will be in play from replay files :)