Upgrade to Chess.com Premium!

PGN download - time control data please!


  • 3 years ago · Quote · #1

    cdir

    I download my games as PGN for further analysis, and have really really been struggling with the fact that chess.com doesn't put the time control information into the PGN, not even whether it's a bullet, blitz or standard game.  

     

    I play quite a bit of all three types of games, and the analysis that makes sense for slow games and bullet games is very different.  Right now I have to download my games and go through them by hand, with Fritz in one window and chess.com in the other, to edit the game titles to append bullet/blitz/standard.  True, I can download a page at a time of each game time, but since the PGN download can take a day, it's a 3 day process to download my recent games after a long day of play.   

     

    Since chess.com has easy access to the type of game, I kindly beg you to put the game type into the title of the PGN download.  The time control itself (5 0, 10 15, etc) would be even better and probably no more effort.  The ICC functionality that shows the time on the clock for each move would be nirvana, but I'm happy to walk before I run. ;)

     

    I can't state strongly enough how much of a pain this is for me currently.  Enough that I'd consider directly funding development of this feature, or even offering my services as a developer to implement it for free.  I'm a paid member of both ICC and chess.com, and prefer chess.com for the chess mentor functionality, videos, forums, community and everything else.  For those reasons I'm planning on letting my ICC membership lapse of the two, but this issue has been driving me crazy.

  • 3 years ago · Quote · #2

    Zugzwang

    I agree!

    In reviewing a game, I am often wondering how much of my remaining time I used to make a move. I don't think move time is part of the PGN specification (if there IS a specification).

    Perhaps the move time could be embedded in a comment for each move? eg. {3/10} meaning took 3 seconds of remaining 10 seconds on the clock. This would help explain some really crazy moves in the PGN.

    The analysis window could then be enhanced to display the clock times as well as the game position.

  • 3 years ago · Quote · #3

    cdir

    I don't know if it's part of the standard, but it could be optionally added as annotations. But I'd be pretty happy if I could just tell the 30 minute games from the 1 minute games in the pgn!
  • 3 years ago · Quote · #4

    Zugzwang

    Live Chess PGN downloads include the time control in the header info, eg.

    [TimeControl "5|0"]

  • 3 years ago · Quote · #5

    cdir

    Ahh, I do see it in the pgn file itself.  Unfortunately that isn't a field that's recognized by either Chessbase or Fritz.  

     

    Right now the Event field is set to "Live Chess" for all three types.  Perhaps it can be changed to "Live Chess - Blitz", or "Live Chess - Blitz - 5|0"?

  • 3 years ago · Quote · #6

    AnthonyCG

    That would be be super useful.  I usually write my time when playing over the board so I know how long my crappy moves took. Yell

  • 3 years ago · Quote · #7

    cdir

    Ok, I've written some perl to modify the PGN to modify the Event tag pair.  Any chance of getting this implemented for the default downloads? 

    #!/usr/bin/perl -w                                                                              

    open(MYINPUTFILE, "<$ARGV[0]");

    open(MYOUTPUTFILE, ">$ARGV[1]");

    my(@lines) = <MYINPUTFILE>; # read file into list                                               

    foreach $line (@lines) # loop thru list                                                         

    {

        if ($line =~ m/TimeControl/ && $lines[$i-8] =~ m/Live Chess/)

        {

            $line =~ m/TimeControl \"(\d+)\|(\d+)\"/;

            $length = $1 + 2*$2/3;  # game length calculation in minutes, assuming 40 moves avg.    

            $category = "Standard";

            if ($length <= 3) {

                $category = "Bullet";

            }elsif ($length < 15) {

                $category = "Blitz";

            }

            $lines[$i-8] = "[Event \"Live Chess $category $1|$2\"]
    ";

        }

        $i++;

    }

    foreach $line (@lines)

    {

        print MYOUTPUTFILE $line;

    }

     

    close(MYINPUTFILE);

    close(MYOUTPUTFILE);

     


Back to Top

Post your reply: