1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
These are features scheduled for future 2.x releases.
----------------------------------------------------------------------
General Features
- Make ( create variations in a display, and keys to move into and out
of them. At the moment, variations are supported programmatically,
but not in the UI.
- Make a display read-only mode, which allows people to view/browse
but not alter a game. This could be used for remoting displays in
order that people on other X servers might observe a game.
- Implement the "50 moves after irreversible" draw rule in chess-ply
- Port the code to XEmacs
- Find a way to display pieces on Windows platforms, or at least
document how to build XPM support into Emacs for Windows
----------------------------------------------------------------------
ICS Client
- Add a completion function against logged in users
- Copy some of ics.el's nicer functionality into chess-ics.el
----------------------------------------------------------------------
Chess by Mail
- Add support for adjournments; also, implement this is such a way
that an e-mail or postal game is basically a game that's adjourned
after every move; use BBDB if available
- Use MIME attachments (application/x-chess-pgn) for sending e-mail
chess games back and forth.
----------------------------------------------------------------------
Database Interaction
- Enable UI commands in chess-display to interact with databases. As
of 2.0, this support is programmatic only.
- Follow what `edit-env' does, in order to make chess-query.el.
----------------------------------------------------------------------
Training/Tutorials
- Write a scripted chess-tutorial.
- Allow the opponent to give hints.
- Add a warning mode that will use the results of an analysis to warn
the user (and ask for confirmation) before doing something that
might lead to an inferior position.
- Add a chess tutor program, to teach people how to play chess
----------------------------------------------------------------------
Analysis features
- Add an engine function for obtaining an evaluation of the current
position. Then, allow M-x chess to startup a non-game oriented
engine, solely for the purpose of submitting position evaluations,
and displaying the result in the modeline. (Also, look at crafty's
kibitzing feature).
- Add a Map command, that will colorize the squares depending on
whether they are reachable by either side. Green if reachable by
you, Red if by your opponent, and blue if by both. With a prefix
argument, colorize only the squares that have pieces on them. This
is a stable modes that remains in effect until turned off. It also
requires the ability to pass a color to the chessboard highlighting
routine.
- Using gnuplot-mode, allow evaluation trends to be plotted
- Add an analyze command that will indicate which pieces are defended,
how well, which are attacked, which moves would increase
defense/attack/both, etc. Basically, everything that can be known
about the current board, and one move ahead (on both sides).
----------------------------------------------------------------------
Other variations
Need a way to play bughouse/crazyhouse games.
----------------------------------------------------------------------
|