Long-dead code removal: "material" flag.
[gnushogi.git] / TODO
blobdc772b2d07c8eb2fd3cb34273c47828e81c66a22
1 Known bugs:
3 - Raw_EditBoard does not detect when stdio is closed and tightly loops
4 - user input interrupts thinking, makes the computer play immediately
5 - some positions show problem in the evaluation algorithm
6 - minishogi repetition rule, different from standard shogi, is
7   not implemented
8 - with no piece on board, computer generates invalid move
9 - in xboard mode, issues non-conforming outcomes like "Drawn game!"
11 Target for v1.5:
13 - use ~/.gnushogi for binary book and hash file
15 - make minishogi a run-time option rather than a compile-time one,
16   using the "variant" mechanism of the xboard protocol
18 Generic cleanups
20 - switch cli parsing to getopt
21 - hunt for extern's and prototypes spread all over the source
22 - hunt for more hardcoded variant-specific constants
23   - position of captured pieces in curses mode
24   - compile with bound-checker
25 - add autosave mode to ease hunt for segfaults ?
26 - ? use 2D array for the board, get rid of the (i)nunmap stuff
27 - fixup build procedure to support parallel make runs
28 - investigate those preexisting "overflow in implicit constant
29   conversion" warnings
31 Minishogi-related stuff
33 - minishogi patterns
34 - tune difficulty levels
35 - other tunings to investigate
36   * eval.c has lots of heuristic code specific to standard shogi that
37     probably should not been used
38   * PromotionZoneDistanceBonus
39   * OPENING_HINT
40 - add minishogi stuff to the doc
41 - use valid minishogi moves in online help
43 Improvements
45 - add a test suite; get inspiration from gnuchess (gps-shogi does not
46   seem to have much, unfortunately)
47 - find out why the engine is so weak
48   - make it battle against Mutz-era gnushogi, and other engines, and
49     compare their evaluation results
50   - see what needs updating in book
51 - express available commands as display-dependant, instead of using if(XSHOGI)
52   - make "help" list commands available for current display
53 - make X and raw two different display drivers