Skip to content
vv111y edited this page Dec 31, 2015 · 28 revisions

####PLAN

  • Will: enough to run engine in gui: main, uci
  • Nick:

####TODO Nick

  • breakdown
    • board rep.
    • generating moves
      • pawns
        • en passant
        • promotions
      • sliding pieces
        • bishops
        • rooks
        • queens
      • knights
      • king
        • castling
      • white/black differences
    • search eval
      • minimax + alpha-beta (needs to be typed)
      • iterative deepening
      • heuristic function
      • transposition tables
        • zobrist keys

####TODO Will

  • class Player: main, uci implementation
    • go
    • stop
    • position
    • newgame
    • isReady
    • setOptions?
  • class Thinker
    • constructor, init engine
    • run method. Main engine code starts here
    • bestMove. returns the best move available

####NOTES

  • Player creates separate thread (object thinker) for engine searching, keeps watching input.
  • All output: use System.out.println
  • final implementation:
    • Windows 64bit - for optimum bitboard implementation
    • Launch4j - wrap .jar file into .exe to use with any chess GUI
    • java 8.x - for unsigned long integer support
    • bundled with Chess Arena
Clone this wiki locally