CPT Community

Innovative Chess Training
Welcome to CPT Community Sign in | Join | Help
in Search

English Blog

In this blog you will find news and information about Chess Position Trainer - current und future versions.

  • CPT 4 put on hold

    Since my last blog entry much happened here. It looks like I was too optimistic than I thought CPT 4 would be ready for beta test at the end of Spring. Actually, something got into my way, something big...

     

    This project consumed much more time than I ever expected or hoped. A deadly combination with my daily work.

    By now I'm already fed-up with topics like doorknobs, basins, safety glass and other things I never dreamed of to master once in my life.

    I would love to spend my leasure time on things which make much more fun: CPT for example.

    Realistically speaking I assume this won't happen before end of September.

    Sorry for these bad news for you guys. The only positiv thing I can say right now: the project has not been abondened.

    Regards,

    Stefan 

  • Can I import my old CPT 3.x repertoires into CPT 4?

    Recently many users asked me whether their work with CPT 3.x will be lost once CPT 4 is released. Don't worry. Of course you can import old repertoires! It's an easy task actually:

     

    After you select and load your old repertoire all sub-repertoires will be shown:

     

    Select all sub-repertoires you want to import and then decide into which repertoire / folder you want to import the selected sub-repertoires:

     

    There you are! 

    It's as simple as 1-2-3.

    Regards,

    Stefan 

  • About to reach 20.000 downloads

    Who would have thought that a CPT version will ever break the 20.000 download landmark. At least not me. Version 3.3 is now pretty close to this magic number. If I consider the German downloads and all not counted downloads (funny to see how even a freeware program makes it to all those illegal web sites out there) we certainly already passed the 30.000 downloads. Anyway, I'm watching the international downloads these days and to say the least it makes me pretty happy.

    If you haven't downloaded it yet or forgot to tell your friends, get it now here.

    Thanks for supporting CPT!

    Cheers,

    Stefan

     

  • CPT 4: Position Explorer – First Introduction

    It is not yet polished, but I just can’t wait to let you at least see some screenshots about what is one of my absolute favorite new features in CPT 4. I call it the “Position Explorer”.

    Did you ever use the “position tree” in CPT 3.x? It looks similar to this:

     

     

    Well, I always thought it was a pretty interesting approach to navigate through your repertoire beside the classical move list or candidate move list. You could expand the tree (branch of moves) and click on any move to show the position on the chessboard. However, even this small screenshots makes the major issue already obviously: It’s not a really compact view – not at all!

    Good news for all CPT users. I have created something much better, more feature rich and still using much less space. A miracle? It’s a mix of a tree view and a move list. Have a look at it:

     

    Your whole repertoire is presented this way – alternatively to the move list and candidate move list. You can expand easily a branch and double click on a move. If you double click on it the move list will show the same moves as the position explorer. The position explorer will show all played moves using a black instead of a grey font to make it easier for the user to distinguish between played moves and alternative moves.

     

     Ooops, now you have seen another major new feature. This little neat position explorer shows you as a tooltip the position of the move you are hovering over. OK, in this test scenario I have not made much use of it except of showing the move notation, the chess board and a dummy comment. However, expect more useful information displayed (position evaluation, training score come to my mind). In my very humble opinion I believe this combination makes it a real killer feature. Imagine how easily you can navigate through your repertoire and checking some positions without ever having to really navigate to a position or to switch the position on the main board.

     

     

    I’m sorry for the skin. This is the Valentine’s Day theme of CPT 4. Don’t worry, you are not forced to use it on Valentine’s Day, but maybe you will fall in love with CPT so much that you keep it all the year long Big Smile

    Some more screenshots…

     

     

     

    Now, have you seen this one? The last snow flakes, till Spring arrives.

    Cheers,

    Stefan

     

     

  • CPT 4: New Repertoire Explorer

    When I announced the development of CPT 4 I already talked a little bit about the new repertoire management in CPT 4. This time I will explain the new concept in more depth.

    Repertoire Explorer in CPT 4 

    The following repertoire elements exist in CPT 4:

    • Repertoire
    • Folder
    • Opening
    • Variation

    Where “opening” is basically what is called “sub-repertoire” in CPT 3.x. CPT 4 will offer specific concepts to manage repertoires for tactical positions, chess puzzles, end games etc. Thus it makes sense to get rid-off of the rather abstract term “sub-repertoire” in the context of opening repertoires.

    For each repertoire there are automatically created two folders called “black” and “white”. You can’t delete them.

    The new repertoire elements serve you to organize your complete repertoire in a more convenient way. In CPT 3.x every sub-repertoire is managed on the same level and basically no other repertoire element exists. You can’t create any hierarchy. Furthermore there is no way to manage more than one repertoire at the same time. You have to load each repertoire and by doing so you are closing the other one.

    Now you can create as many repertoires in the same database as you like. No limitations anymore. Everything right there at your finger tips. As the new folders “black” and “white” are introduced where is no need to create a specific repertoire for each side. Furthermore you can manage in the same database a repertoire for your blitz games and your standard games or one for attacking / risky play. Again, no restrictions here.

     

    Another issue about the way CPT 3.x manages your repertoire are transpositions. They are only covered within one sub-repertoire, but not across several sub-repertoires. Unfortunately there exist many openings which let you transpose between each other …

    In CPT 4 you can navigate through your KID opening and when it transposes to your French opening CPT will show you the information right away. You change the evaluation for a position which exists in two openings (e.g. the start position) and it will be show in all other openings to which the position belongs as well. The same is true for comments. You delete a position in one opening and it will be permanently deleted only if it is not part of any other opening. Otherwise it will be just removed from the current opening, but won’t impact any other opening.

    Some players complained that they play an opening with both sides, but there was no simple way to manage and train the same opening for both sides.

    In CPT 4 you can easily drag & drop an opening from let’s say a white folder to a black folder and there you are. CPT is not going to create double entries for each position. Remember, CPT 4 considers transpositions across sub-repertoires. It always stores a position only once in the database. Now, you will be able to easily add new moves to let’s say the Dragon opening from white’s side. However, those moves are not automatically added to the black opening for the Dragon. You will see them grayed-out in the candidate move list so you can easily add them to the other opening, but by default CPT assumes you want them just for the opening which you edit right now. While you share positions among all openings you are still able to add and remove individual candidate moves to your liking and even the order of the candidate moves can be different for each opening even though the position and candidate moves themselves might be the same. Sounds a little bit abstract? Well, in short: CPT will act as you would expect it in the background while giving you a maximum of flexibility.

    Now, let’s have a deeper look at the repertoire elements.

     

    Repertoire

    You can add at any time a repertoire to your database. Then CPT will automatically create a folder for your black and one for your white openings which you want to manage under the newly created repertoire. Thus a repertoire by itself is not assigned to any color. The training score of a repertoire is based on all openings which are assigned to your black and white folders.

    Folder

    That’s a new construct. It will help you to organize more complex openings like the Sicilian. By itself is has no function. It can contain as many sub-repertoires or folders as you like.

    Opening

    Formerly known as “sub-repertoire”. That’s the core repertoire element. Openings let you divide your repertoire into logical units. Any opening is either for black or white. You don’t have to explicitly mark an opening as black or white as the parent folder holds this information.

    Openings are also what you can train in the training centre. CPT 4 let you train across several openings.

    An opening has a training score which is the average training score of all positions which the opening contains.

    Variation

    Well, these repertoire elements are more or less just “labels” in terms of CPT 3.x. However, they are integrated into the repertoire explorer and the repertoire hierarchy which makes it much easier to utilize them. A variation doesn’t have any training score. Think about a bookmark to get the idea of variations. If you want to create a variation you have to open an opening. Then navigate through your opening to a key position or variation. Now, mark this position as variation and give it a name. It will be shown below the opening in the repertoire explorer. If you want to get back to this position later again just double click on it in the tree. You can have an unlimited numbers of variations for an opening.

     

    Well, that’s a rough picture of the new repertoire concept.

  • Holiday Greetings from CPT

    Work on CPT 4 has started again and I plan to blog in January about some new features in more detail. One will be the new repertoire explorer which I briefly explained a while back. Another one is something special I haven´t mention yet. I call it the "position explorer" and it is so far my favorite new feature of CPT 4.

    CPT introduced a tree view for the users repertoire which in itself was a quite nice idea, but it needs a lot of space on the screen and thus is not of such a great help for the daily work. The "position explorer" picks up the original idea behind the tree view, but takes this to a totally new level. You will be able to navigate through your repertoire as never before (and probably even didn´t think of).

    Stay tuned for details around end of January on this blog.

    Thanks and happy holidays!

  • Delay. Delay. Delay.

    It has been quite some time since I've started the work on CPT 4. There was supposed to be a first beta around this time. Some might fear the project has been abandoned. This is not the case.

    So what happens and what is the status? Well, real life caught me. I have been swamped with work at my daily job. Getting home from work at 8 or 9 in the evening doesn't give you much time and energy to work on your favorite project. Even at weekends I have been quite often working at home (VPN is such a wonderful thing...). Things start to look slightly better now, but still not great. Anyway, I have managed to work on CPT a little bit again and I try hard to keep it going.

    During the last couple of months it was great and sad at the same time to read the comments in the blog or in private emails where people told me how much they like CPT and that they hardly can wait for CPT 4. Appreciate the feedback guys - keep them coming.

    It's a wonderful experience to have created something so many people care about. At the same time it's sad that I haven't yet delivered CPT 4 and this will most likely not change within the next couple of months.

    CPT 1-3 have been a great experience and a good "first attempt". CPT 4 became for me a personal issue with all the promised improvements and the vision behind it. It has the status of lifework for me and thus I just have to finish it, if I don't want to have regrets all my life. Maybe this is the best promise I can give you at the moment.

    Yours,

    Stefan

  • CPT 4 challenges, "small issues" and sleepless nights

    Someone wrote in the forum about a seemingly small glitch of the training center which under the surface is a pretty complex topic which kept me busy quite some time while I worked on the design of CPT 4. I have to admit this is a rather dry topic if you are not into it Storm

    Background info 

    First you might want to read his post.

    In short: If you train with the option "always jump to worst position" it is possible that CPT will present you positions which are not reachable by a top-ranked candidate move in your sub-repertoire. This is a training setting for advanced players which know their repertoire pretty good. Basically the difference is that you will not be lead to those positions from the start position on, but instead just presented the final position - the currently worst position of your sub-repertoire. A great way to really recognize a position and not move orders.

    I'm aware of this limitation for quite some time. Unfortunately it is not so easy to improve. Actually a similiar issue exists for training of tactical positions or the calculation of the sub-repertoire overall training score. Here again CPT should ignore those positions which are not reachable by top-ranked candidate moves or in the case of training of tactical positions CPT should pick the start position and not any / worst of the (usually short) line. The latter has some additional challenges which are not covered by this post, but by CPT 4 Cool

    The Problem

    At the moment CPT can't tell whether a certain position is only reachable by a non-top ranked candidate move or not. 

    Two possible approaches 

    There are two approaches to solve the problem. Either calculate this information "on-the-fly" when CPT needs it (for example during the training session) or pre-calculate it for each position and save the info.

    Believe me, for CPT 4 I spent hours, well, overall days about just this topic and how to design and develop the "perfect" solution. For several times I thought I had covered all scenarios and I was pretty sure I found the solution - just to find out - no, not yet. I became almost mad.

    OK, let's have a look at both possible approaches to this challenge.

    Calculation on the fly

    You quickly run into a performance issue. First you would just calculate the worst position. Then you would need to check whether the position is reachable by a top-ranked candidate move / line. If you have more and more of such non-top ranked positions over time the performance will (significant) decrease (just imagine to check 1000 positions and their preceding moves before you finally find a "right" one...). There is even a bad side-effect that those non relevant positions will be always checked first as they are never trained and remain at a training score of 0%. I don't believe in this approach.

    Pre-Calculating

    Obviously this solves the performance issue. However, now things get really tricky if you start to think about the details. I encountered the same concepual issues as I did with the idea of an extended (sub-)repertoire concept.

    You will need to check for each new move you add to the repertoire whether the new arising position is now a valid position for training or not (or for the repertoire training score or a sub-repertoire). So far so good. Thanks god there exist transposition in chess.

    Imagine to reach an already existing position which was so far NOT a valid position for training. However, now it is reachable by a top-ranked candidate move. The logical consequence would be to change the flag for the position and all consecutively positions which are reachable from that position as "valid". Vice-versa if you delete a move. Or think about what should happen if you manually change the order and thus the rank of a candidate move...

    Also consider more complex actions like an import of thousands of games or a copy of a sub-repertoire with >10.000 positions. In these cases CPT would need to check for each position whether it is a valid position for training or by transposition any already existing position (and their consecutive positions) should change their flag now. This will lead to a huge performance penalty for all these actions.

    Maybe I'm just too pessimistic (I'm usually not), but I believe there are good chances that somehow this information gets messed up. Then a non valid position will be marked as valid and vice-versa. Good chances for "chaos" here.

    New approach 

    CPT 4 will not care for the info "valid" position for training or not while you add a new move / position (either by manual editing, import or copy / paste). Instead it will offer you a function to start a batch job which just goes through all branches and makes sure the flag is correctly set for each position. Take into account that you only have to run it once you have added a new move for your side which is not a top-ranked candidate move. If you always only add one candidate move for your side and many for the opponent you don't have to care at all!

    I don't like the aspect that you have to manually start this job as there are good chances some users will miss it. However, those will likely not bother anyway and I believe it is still - after consideration of all CON's and PRO's - the best approach. Sometimes there just doesn't exist the goose that lays golden eggs.

    Well, who knows. This apparantly simple and minor issue cost me so many hours and sleep, maybe I will change my mind once again Stick out tongue 

    Cheers, 

    Stefan

  • CPT 4: Previous move & jumping to a position

    One thing which I never liked was the behavior of CPT after you jump to a position for example which is marked as "ToDo". Then the move list was empty and you couldn`t navigate back anymore. To get back to the start position you had to click on the reset button.

    While this behaviour is from a programming point of view somewhat logical it is not intuitiv for the user. People ask me about this from time to time and I have to explain to them why CPT is behaving like this. I came to the conclusion it is a bad design from the programmer (me Embarrassed).

    Why is it the way it is in CPT 3.3? Well, if you jump to a position by some criteria like "marked as ToDo" or "position with more than one candidate move" CPT just queries the repertoire database and shows the next position which fits the criterias. However, CPT has no idea how to reach the position.

    Behaviour change in CPT 4: In the next version such a situation doesn´t exist anymore. Where is always a move order for the current position. When you "jump" to a position CPT will recalculate the main line reaching this position and show this move order. In the case that due to some transpositions there could be more than one move order it will select the most top ranked candidate move. I believe this is much more user friendly.

    In addition to this behavior the next new feature is a perfect match. In CPT 4 there is a "Previous move" window which shows all candidate moves leading to the current position. Sometimes more than one are leading to the same position and this list will show you which and to which (sub-)repertoire they belong. Now, if you click on one of those moves CPT will first check if the move is already in the current move list and if not it will recalculate the main line leading to that position as described above.

    Now this gives you a totally new way to navigate through you repertoire. At the same time it makes CPT easier to grasp I believe.

    I want to make CPT as intutive as possible. Any other issue in CPT 3.3 which you believe are not very intuitive and should be changed?

    Regards,

    Stefan

     

  • CPT on Tour

    It has been a little bit silenced the last couple of weeks. Sorry for that! I have been just pretty busy with preparing a long trip through the USA (California etc.). At the end of the tour I will finally meet Gregory (the other face behind CPT) for the first time in person. We will play our first over the board chess game - can't wait! That will be an exciting experience and I'm looking forward to it.

    After the trip I will catch up and I expect to having something for you guys during this summer. I believe this will become a hot summer! :)

    Cheers,

    Stefan
     

     

  • Training like a Grand Master with CPT

    The other day a titled chess player reminded me to a very special training mode of CPT. Actually this was the only training mode in version 1, but I almost forgot about it myself. By now CPT has more than 70 training options of which most can be freely combined and hence it’s easy to miss the ideas behind some of them. Thus I would like to introduce to you the training mode “Jump to worst position always” in combination with “Always pick next worst position based on selection”. You can find these settings on the “Selection” tab and “Continuation”.

     

    Then I started the project at the end of 2003 I thought it would be best to implement the well-known flash-card concept just exactly as it works for learning a new language. That meant I just wanted to be shown the worst position and after having made a move just any other position which is now the worst position of my repertoire.

     

    So what’s the big deal? There is no connection between the two positions except they have your worst training scores!

     

    You no longer run the risk to learn by heart move orders, but instead you really learn which move to play in which position – absolutely independent of any concrete move order.

    Why is this a better way instead of training complete variations? Well, first of all you save time, because you don’t have to play all those moves which you know already perfectly just to get to that one move you always forget the right candidate move. Next you will really learn the positions. If you play concrete variations you will start to auto-play certain variations, but you will be really surprised how challenging some positions even of lines with 100% training scores will become for you if you just face them without having played the moves leading to the position. Give it a try with a sub-repertoire which you already know pretty well.

    There is another advantage: If you get for some not explainable reasons out of your repertoire and later back into your repertoire or just a position you will immediately recognize the position. The chances to recognize the position if you always only trained concrete variations are not as high.

     

    I believe the variation mode is good for the beginning when you really have no clue about the opening you want to train (the demo mode is also good for this intend). Then, if you have a training score of 50% or more for your repertoire give it a try and switch to the “jumping” mode.

     

    Another underestimated feature might be the blindfold mode. Many GM’s can tell you that the visualization skill is very important to improve someone’s chess, but it is not just a talent (like Moro obviously has), but rather can be trained. With CPT you can train it very easily and even with your own repertoire! Give it a try if you haven’t played around with these options yet.

     

    Which are your favourite training settings? Have you already used the “Jump to worst position always” option? Do you have special training wishes for CPT 4?

  • First CPT 4 info and screenshots revealed

    Now that CPT 3.3 has been released with DGT support (if you can effort it you really should get one of these awesome boards!) it is about time to reveal some information about CPT 4 and posting the first screenshots.

    New storage system

    Certainly the biggest and maybe most important change is the use of a real database with CPT, but it gets better. CPT will support virtually any database. E.g. if you are a lucky person and have access to an Oracle or MS SQL Server then you can use it for CPT just by providing the connection string and that's it!

    Of course the support of standard databases opens a new dimension for everyone who wants to run some direct operations on the data, not to mention the general advantages of using rather a professional databases than a self-written proprietary solution.

    Previously CPT would hold the whole database in-memory during operations which made CPT pretty resource demanding if the database grows big and could cause some issues. CPT 4 uses very little memory and it is constant no matter how big your database becomes.

    New User Interface

    CPT is well known for its appealing user interface. You might be surprised, but CPT 4 is taking a big step forward. The UI has been completely re-designed having in mind the many new features and modules which are planned for CPT 4 and later versions. So now there is similar to Outlook a navigation panel:

     Show big screenshot

    You can see the new great ribbon control which Microsoft is introducing with Office 2007. I already fall in love with it and so will you I bet. Forget the times where you had to search for the right command in the current context just to find yourself lost in endless menus. Also the time is over where some users have toolbars which hardly take advantage of their screen resolution or vice versa, because the ribbon control is adjusting itself (small / large images etc.) and thus making the most out of the given space. Gallery controls and other nice new elements like the super tool tip (see next screenshot) are not just gimmicks, but clearly improve the experience and learning curve.

    Show big screenshot

    Another thing I really like about the new UI is the support of skins. Bored by the same look & feel? No problem! Just switch the skin:

    Show Liquid Sky

    Show London Sky

     

    Show Lilian

     

    Show Imaginary

     

    Show Glass Oceans

     

    Show Stardust

     

    ... and several more which you can see used in other screenshots in this blog like the Black or the Blue skin of Office 2007.

     

    Extended Repertoire Concept

    CPT introduced the concept of sub-repertoires which make it much easier to organize someone’s repertoire. Transpositions were discovered within a sub-repertoire, but not between different sub-repertoires. This changes with CPT.

    First of all you can manage as many repertoires (!) as you like in one database. Second all sub-repertoires are automatically gathered under the folders Black and White. A sub-repertoire can have variations leading to a third level which give you additional possibilities to organize your repertoire.

    Most import: No position is stored twice in the database. Even not if it is part of two different repertoires! Thus any transposition will be automatically detected. However, you are able to decide for each (sub-)repertoire which moves to exclude (this makes also sense if you play the same sub-repertoire with both colors).

    The new repertoire explorer let you easily drag & drop sub-repertoires and variations (e.g. if you want to play the Sicilian with both colors you can now easily drag & drop the whole sub-repertoire under the folders black and white and then just remove those moves which you don’t want to handle for the given color).

    As said before you can have more than one repertoire in one database. Do you have a blitz and a standard repertoire? Now you can easily manage them in one place and even share information between them where appropriate. You could also create a repertoire based on Kasparov games.

     

    Show big screenshot

     

     

    Show big screenshot

     

    Game Database Support

    The next version will have game database support. No longer you have to switch back and forth between CPT and a game database software. This opens a new dimension for CPT. Stay tuned for further details.

     

    Engine Support

    UCI engines will be supported with CPT 4. Some innovative new features based on rich engine support are also planned.

     

    Charting

    Do you always wanted to see some charts and reports about your repertoire? Now you will find plenty of charts and reports. For the charts you can even switch the color palette or the chart type. Check out the next screenshots:

     

     

    Show bar chart

     

    Show pie 1

     

    Show pie 2 

     

    Show 3d pie 

     

     

    Printing and Export

    Finally you will find full printing support in CPT 4. Everything can be printed or exported to many different formats (among them PDF and HTML).

     

     

    Show preview 1 

     

    Show preview 2

     

    Conclusion

    CPT 4 is making a huge step forward. In the context of CPT 4 the predecessor feels just like two of several modules in CPT 4. The new storage system should greatly improve the user experience. If all this already sounds and looks exciting to you - stay tuned as we have just scratched the surface. We didn’t talk yet about sound recording or …

     

    Sorry, that’s all for now. No timeline. Highest priority has quality for the new release. I don't want rush out this gem. In the future you will find more updates posted in this blog so come back frequently and let me know what you think!

     

    Enjoy your holidays!

     

    Stefan

     

    P.S.: Please note that the large images of the ribbon control are stretched in the screenshots. The final version will have the correct size and thus better quality.

  • New beta: DGT support finished and training repetition issue fixed

    You can get the version here:

    Download beta version

    If you have CPT 3.2 installed you can just unzip the file to any folder and run the exe file.

    DGT support has been implemented for the training module and the edit mode.

    Furthermore I have been working on the so called "infinite" or "repetition" bug of the training center where CPT would stick to a certain line sometimes.

    I would appreciate if some players would verify that the bug is gone now before I release the version.

    Thanks!

    Stefan

  • Initial DGT Electronic Board support

    I'm happy to announce an initial DGT Electronic Board support. If you have no idea what I'm talking about please have a look at:

    DGT homepage

    In short this board looks and feels like a common real chess board. However, you can connect it to your PC and use it for example in conjunction with CPT now. Then each move you make is transmitted to CPT and if you use an electronic chess clock you will easily be able to follow the replies to your moves without having to check the screen. I already fall in love with it!

    Right now it is only working for the training centre. This means you can train your repertoire without having to look at a screen. IMO this greatly helps to study your chess material in a more natural environment.

    Download CPT 3.2 with initial DGT support

    To enable DGT support check in the main window "extras->DGT Support" and then go to the training centre. Right now pawn promotion is not yet supported, but beside that it should work already. If you finish a line where CPT asks you to press space you will see 1111 displayed on the electronic chess clock (if you own one). However, I recommend to change the standard settings so it doesn't ask you anymore to press space. As you have the board in front of you there is no need to let CPT wait.

    Please let me know how it works for you.

    Regards, 

    Stefan

  • Article posted at Chessville

    Chessville just released an article about CPT 3.2 which I wrote myself. The article covers the new features of version 3.2 as well as the concepts on which CPT is based.

    http://chessville.com/misc/ChessPositionTrainer32.htm

    Regards,

    Stefan

More Posts Next page »