We describe here a need for open software which helps beginning chess players learn a skill we call chess vision: the capacity to visualize accurately what pieces are threatened by oponents pieces.
Beginners learn chess by learning how pieces move, how pieces are taken, and how to win. Ideally, from there one could move on to learn and build strategy -- learning why and how to control the center, flank the opponent, sacrifice for position, etc. However, most beginners get frustrated before that point by their lack of chess vision. That is, beginning players lose not because they made a strategic or even tactical error, but just because they don't notice that a piece is in jeopardy, or that it would be if they make a certain move. This kind of loss is less common in players of checkers with little experience, for example, and is particularly demoralizing.
If moderate skill in chess vision could be learned through one or more entertaining video games, the frusturation of losing due to lack of vision could be mitigated for beginners. Below, we argue that just such a game-based learning environment can be constructed. Furthermore, given the availability of open-source chess-board software, the incremental work required to produce an open-source trainer should be modest. I believe such a trainer would be very popular among chess beginners and among parents of children beginning to learn chess. In this document, I describe what such a project would entail, hoping to find to find one or more individuals interested in contributing their time and effort on the project. I would be pleased to consult with interested collaborators on the forms such software might take. An initial proposal for the project is described here.
Single-Target Immediate Defense
In this variant, you, the player, control a single piece, say the
black king. This piece is alone somewhere on the bottom half of the
screen. Some
number of pieces of the opponent color are on the screen, initially
just at the top. One of them is threatening your piece, and you must
find it and click on it.
Progressively more difficult scenarios with a single user-controlled piece include 1) in each problem, your piece appears in a different position on the screen, 2) more opponent pieces are on the screen (but only one attacks), 3) more of the oppenent pieces are near misses---that is, they attack a space adjacent to the user's piece, but not the piece itself. Finally, we can add more user-controlled pieces, but there is still a well-identified target. In order to distinguish the target, it might be a different color or have a small bull's-eye painted on it. Having more non-target pieces makes the task more complicated, since some of these pieces can block attacks.
Multi-Target Immediate Defense In this variant, you control several pieces. As time passes, little marks appear on pieces indicating that they are safe from attack. At any time, you can click on the piece under attack or the piece attacking to ``win''.
Next-Move Defense (advanced) You are given a board position, and you must move your piece to either a) a place where it is not under attack or b) a place where a satisfactory trade rather than a loss results. Alternatively, you are given a choice of two pieces two move, and you must find the one that doesn't expose another piece to attack.
What are the implementation issues that one would face?
Building Board Positions How might we construct board positions? We might start with simple, artificial positions that draw the attention of the users to the solution of the problem easily. We might then progress to more realistic board positions, which cold be find in game libraries.
A key issue in any game is the reward mechanism. Since chessboard visualizers are available in open source, implementing the reward mechanism may be the bulk of the work. Figuring out what will work probably would require experimentation, but here are some possibilities.
Time-Based Punishment The goal is to save the piece before a timer runs out and the enemy piece captures your piece. Timing would be more important in this exercise than in actual informal, untimed games, but in tournament games, time does often become an important factor, and timed exercises might be exciting and reinforcing for players of the game.
Time-Based Reward The goal is to save as many threated pieces as you can. Each time you save one, you get a little reward that shows up on the screen. When you have some number of little rewards, you get a big reward.
Internet Community Reward Now that internet access is available to many game players, it would be feasible to put game players who are similarly skilled in contact with each other. A news group for players of our game could be formed, and some internet chess game could be recommended for players of matched skill levels. When a player of our game achieved a new level of competence, she or he could be introduced to a new group of internet players.
It makes sense to start with some open-source chess software. The language is not particularly important, though Java comes to mind. Here are some such software packages, in no particular order:
I can be reached at philip at bohwood dot com. If you are interested in possibly helping create this chess-vision training software, or just coming up with a decent name for it, please get in touch!
I think any simple part of this would be a big help to any chess beginner. For example, even single piece defense with some kind of reward mechanism would be useful. Since I believe it will be a big help, I believe it will be very popular open source software if it exists.
Disclaimer I have spent some time searching chess web-sites to find if something like this already exists, and obviously I haven't found it. But that doesn't mean it doesn't exist, so you might want to look around too before you start coding.