]> code.delx.au - gnu-emacs-elpa/blob - TODO
bug fixes
[gnu-emacs-elpa] / TODO
1 These are features scheduled for future 2.x releases.
2
3 ----------------------------------------------------------------------
4
5 General Features
6
7 - Add a `force' event for forcing an engine to move, and a command
8 from chess-display to send this event
9
10 - If you are playing a puzzle game, and the engine is thinking, and
11 you hit space to move to the next puzzle, then when the last move is
12 finally received from the engine it causes an error.
13
14 - Clean up chess.el, and let people override the chess-default-* lists
15
16 - Write chess-descriptive.el, and have the code in general use
17 chess-ply-to-string and chess-string-to-ply, so that users can use
18 descriptive notationas an alternative to algebraic.
19
20 - Write chess-html.el, for outputting a game to HTML
21
22 - Write chess-latex.el, for outputting a game to LaTeX
23
24 - Use TrueType or other chess fonts for displaying positions; this
25 might be the best way of displaying positions on Windows
26
27 - Change chess-announce/sound so that it reads from the text rendition
28 of the move; this way it will work with either descriptive or
29 algebraic notation. Also, chess-announce and chess-sound can be
30 collapsed into one module, with different "styles" of announcing.
31
32 - Write chess-epd.el, which is based on chess-fen, and is also a
33 database module for accessing positions within an EPD file
34
35 - Make ( create variations in a display, and keys to move into and out
36 of them. At the moment, variations are supported programmatically,
37 but not in the UI.
38
39 - Make a display read-only mode, which allows people to view/browse
40 but not alter a game. This could be used for remoting displays in
41 order that people on other X servers might observe a game.
42
43 - Implement the "50 moves after irreversible" draw rule in chess-ply
44
45 - Port the code to XEmacs
46
47 - Find a way to display pieces on Windows platforms, or at least
48 document how to build XPM support into Emacs for Windows
49
50 - Add a way to include the chess-ucb module in the list of default
51 modules created via M-x chess. Right now there is no facility for
52 having two engines associated with a single game (and chess-link
53 is not what we want in this case).
54
55 ----------------------------------------------------------------------
56
57 ICS Client
58
59 - Add a completion function against logged in users
60
61 - Copy some of ics.el's nicer functionality into chess-ics.el
62
63 ----------------------------------------------------------------------
64
65 Chess by Mail
66
67 - Add support for adjournments; also, implement this is such a way
68 that an e-mail or postal game is basically a game that's adjourned
69 after every move; use BBDB if available
70
71 - Use MIME attachments (application/x-chess-pgn) for sending e-mail
72 chess games back and forth.
73
74 ----------------------------------------------------------------------
75
76 Database Interaction
77
78 - Enable UI commands in chess-display to interact with databases. As
79 of 2.0, this support is programmatic only.
80
81 - Follow what `edit-env' does, in order to make chess-query.el.
82
83 ----------------------------------------------------------------------
84
85 Training/Tutorials
86
87 - Write a scripted chess-tutorial.
88
89 - Allow the opponent to give hints.
90
91 - Add a warning mode that will use the results of an analysis to warn
92 the user (and ask for confirmation) before doing something that
93 might lead to an inferior position.
94
95 - Add a chess tutor program, to teach people how to play chess
96
97 ----------------------------------------------------------------------
98
99 Analysis features
100
101 - Add an engine function for obtaining an evaluation of the current
102 position. Then, allow M-x chess to startup a non-game oriented
103 engine, solely for the purpose of submitting position evaluations,
104 and displaying the result in the modeline. (Also, look at crafty's
105 kibitzing feature).
106
107 - Add a Map command, that will colorize the squares depending on
108 whether they are reachable by either side. Green if reachable by
109 you, Red if by your opponent, and blue if by both. With a prefix
110 argument, colorize only the squares that have pieces on them. This
111 is a stable modes that remains in effect until turned off. It also
112 requires the ability to pass a color to the chessboard highlighting
113 routine.
114
115 - Using gnuplot-mode, allow evaluation trends to be plotted
116
117 - Add an analyze command that will indicate which pieces are defended,
118 how well, which are attacked, which moves would increase
119 defense/attack/both, etc. Basically, everything that can be known
120 about the current board, and one move ahead (on both sides).
121
122 ----------------------------------------------------------------------
123
124 Other variations
125
126 - Need a way to play bughouse/crazyhouse games.
127
128 ----------------------------------------------------------------------
129
130 Other features
131
132 - Keeping a player database in BBDB
133
134 - Managing a tournament, setting up pairings, calculating ratings