Battle timers

What should we be doing for timer settings? I can see 5 options, of which four are probably useful. The last could theoretically be added on to the others as a secondary timer option, but is probably useless and only mentioned for completeness.

1) No timer

2) Fischer time. This is popular in some chess matches and is what Shoddy Battle and Pokemon Online use (but with no way to change the default amounts). The way this works is that each player starts out with a certain amount of time, say, 10 minutes. Once they move, their time stops counting down. At the end of the turn, each player gains some amount of time, say, 10 seconds. Shoddy Battle and Pokemon Online put a hard cap (5 minutes) on the amount of time you have, meaning that no matter what you can never have more than 5 minutes remaining.

3) Byo-yomi. This is the Pokemon Lab method, and is popular in go matches. You start out with some initial time (say, 10 minutes), and once that time is used up, you begin using up your byo-yomi periods. As an example, you may start out with a pool of 10 minutes with 3 periods of 1 minute each. This means the battle starts with 10 minutes during which you can make as many moves as you want. After you've used up 10 minutes, you then have 1 minute to make a move. If you make a move within 1 minute, then nothing changes, you still have 3 periods of 1 minute each. But if you take at least 1 minute to move, you lose a period and you now have 2 periods of 1 minute each to complete your turn.

4) X moves in Y minutes. Grandmaster chess tournaments typically use the time control of 40 moves per 2 hours. This adds more flexibility than X minutes per move, but has a similar overall effect on time.

5) Set time per match. This one is distinct from the others because it can cause the game to run out of time without determining a winner. The only way this could possibly be useful is with some sort of tie-breaking mechanism, and it also probably requires another timer option to be used in addition. This method does not care about how quickly either side moves; once the time runs out, the game is over. This is theoretically useful in tour matches, where we want to have all matches be guaranteed to end at a certain time. The disadvantage is that a player could never move at all, and the game will end 6-6. If we have a tie-breaker that is something like "number of Pokemon alive", then as soon as either player gets to 6-5, they will stop moving and win. This is why I recommend only using this timer in competitive play with another timer as well. If we combined a 15-minute-game timer with, for instance, a 1-minute-per-move timer, play continues as normal, with players losing if they run out of time, but as soon as the game has lasted 15 minutes, play immediately ends, with the result either being a tie, or the result of some tie-breaker. The addition of another timer limits the potential for abuse.

Fischer time and byo-yomi time are both almost capable of setting a fixed amount of time per match, but do so much more fairly. For Fischer time, you just set the added time to 0, while for byo-yomi, you use 0 periods. The entire match is guaranteed to last no longer than twice the initial time. The reason is that the timer stops after each player moves, so if each side has 10 minutes for the game, the first player could move immediately and the second player could take 9:59, and then the second player could move immediately and the first player could take 9:59. This means that if you want all games to end within 15 minutes, you give each player an initial time pool of 7:30. This should almost always be used in favor of timer option 5.

Byo-yomi is also capable of the NetBattle time scheme of N minutes per move. If you set the initial time to 0 and use only one period (say, 5 minutes for consistency with these simulators), then that means each side has exactly 5 minutes to make each move. Fischer time is not compatible with that standard. You cannot set it to "start with 5 minutes and add 5 minutes per move" because time is carried over in Fischer time. If you make your first 20 moves in a minute total, you'll have 104 minutes for your next move, which is almost certainly not what we want (and why the added time is usually in seconds, while the start time is usually in minutes).

I don't know what I recommend for ladder matches, but I think we can do better than "5 minutes per move".

I can't speak for NB, but PO and Shoddy don't use 5 minutes per move. PO at least has Fischer time with 5 minutes initially, adding 30 seconds per move, with a restriction which means the spare time can never exceed 5 minutes.

Edit: 1 is unusable for obvious reasons, relying on mod judgment to kick timestallers or allowing anyone to wait till their foe has to go/disconnects is not workable for any ladder. 5 is only slightly better, causing people to be able to timestall their foes to death by making quick moves near the end. 3 (Byo-yomi) is quite nice, perhaps the biggest objection I'd have would be unnecessary complexity. 4 seems inferior to 2, you just have to keep track of each chunk of moves and one person playing much faster in the previous chunk of moves would not have any effect on future time availability, making it easier to timestall safely (without the risk of having to rush moves). I'd favor 2 for familiarity and the fact that it does work well, or perhaps 3 for an interesting twist and being less forgiving on timestallers.

PO's timer is waaaay too long, I've found it's way too easy to abuse it. Fischer (with a maximum) works fine in Pokemon matches, just the re-added time needs to be much lower in a Pokemon match when moves should very rarely take more than 5 seconds.

Probably not good for the other ladders, but it would be nice if 15 minute total match timer (including time that move animations take) with 1 minute to make your move was implemented for the VGC one either in PO or in future simulators. Oh and 90 seconds for team preview (but not counted towards the 15 mins) in this case too.

4 seems like a bad fit for the situation, though I can't really say why.

Fischer time with something like 4 mins initial + 10-15 secs per turn would work fine. 30 and even 20 seconds per move is way too high for ladder matches.

Byo-Yomi is also a potentially good system, and it accomplishes basically the same thing as Fischer time. I personally prefer Fischer time because it allows the "banking" of time so that there's an incentive to move more quickly, but either one would work.