File: TODO

package info (click to toggle)
gnushogi 1.5~git20140725-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 1,900 kB
  • sloc: ansic: 12,731; sh: 4,104; makefile: 128
file content (50 lines) | stat: -rw-r--r-- 1,712 bytes parent folder | download
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
Known bugs:

- some positions show problem in the evaluation algorithm
- minishogi repetition rule, different from standard shogi, is
  not implemented
- with no piece on board, computer generates invalid move

Target for v1.5:

- use ~/.gnushogi for binary book and hash file

- make minishogi a run-time option rather than a compile-time one,
  using the "variant" mechanism of the xboard protocol

Generic cleanups

- switch cli parsing to getopt
- hunt for extern's and prototypes spread all over the source
- hunt for more hardcoded variant-specific constants
  - position of captured pieces in curses mode
  - compile with bound-checker
- add autosave mode to ease hunt for segfaults ?
- ? use 2D array for the board, get rid of the (i)nunmap stuff
- fixup build procedure to support parallel make runs
- investigate those preexisting "overflow in implicit constant
  conversion" warnings

Minishogi-related stuff

- minishogi patterns
- tune difficulty levels
- other tunings to investigate
  * eval.c has lots of heuristic code specific to standard shogi that
    probably should not been used
  * PromotionZoneDistanceBonus
  * OPENING_HINT
- add minishogi stuff to the doc
- use valid minishogi moves in online help

Improvements

- add a test suite; get inspiration from gnuchess (gps-shogi does not
  seem to have much, unfortunately)
- find out why the engine is so weak
  - make it battle against Mutz-era gnushogi, and other engines, and
    compare their evaluation results
  - see what needs updating in book
- express available commands as display-dependant, instead of using if(XSHOGI)
  - make "help" list commands available for current display
- make X and raw two different display drivers