The Chess Variant Pages
Custom Search

[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

This item is a contest or tournament
It belongs to categories: Orthodox chess, 
It was last modified on: 2019-02-16
 By Greg  Strong. Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
Fergus Duniho wrote on 2019-03-04 UTC

When I looked over the time controls before, I didn't notice the thing about the 4 moves per week pace. I had previously modified the invitation script to not include the option of setting a pace in the time controls, but I forgot about doing the same thing in the script for defining a round. The code is kept in Game Courier for backwards compatibility with games that still use it, but I do not recommend its use. Here is how it works. I have added some extra comments to better explain things.

// As long as you keep the desired pace, your reserve time is kept from falling below $sparetime.
// $i is the turn being checked. $i & 1 returns 0 or 1 to identify the player.
if ($timeleft[$i & 1] < $sparetime) {
    // Total time that has passed from beginning of game
    $timepassed = ($timestamps[$i] - $timestamps[0]);
    // If average duration for a move is less than the set duration for a move,
    // then moves are being made faster than required,
    // and $timeleft is raised to value of $sparetime.
    // Equivalent to -> if ((($timepassed / 2) / $i) < ($paceperiod / $pacefreq)) 
    // but loses no precision and avoids division by zero error
    if ((($timepassed / 2) * $pacefreq) < ($paceperiod * $i))
        $timeleft[$i & 1] = $sparetime;

One problem with this is that it divides the time passed by 2, which is accurate only when each player takes exactly as long to move as the other player. It would be more accurate to count up how much time each player has individually used. So, it will normally reward both players or neither player, depending on how fast the game is moving along. It does not account for individual variation in playing speed. Because it divides time passed by two, the pace it checks for is actually half as fast as the pace specified. So, if the pace is 4 moves per week, it will reward players for moving twice a week. Without knowing how it works, you might imagine that it will enforce a certain pace. It will not do that. It will just reward players for keeping a minimum pace. When combined with other time controls that already reward players for moving quickly, it may help inflate how much time players have left. With the pace set to 4 moves per week, it will be possible to play slow, leisurely games that will take many months.