XBoard: split printing of the features line for clarity.
[gnushogi.git] / TODO
diff --git a/TODO b/TODO
index 48d2f19..a3f60ea 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,8 +1,14 @@
+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:
 
-- refactor dspwrappers into a driver-like structure
-- integrate H.G.Muller's work on the xboard protocol on top of that
-- deprecate xshogi in favor of xboard
+- 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
 
@@ -10,12 +16,11 @@ Generic cleanups
 
 - switch cli parsing to getopt
 - hunt for extern's and prototypes spread all over the source
-- use automake
 - 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
+- ? 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
@@ -25,7 +30,19 @@ 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
+
+- 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