Skip to content
vv111y edited this page Jan 6, 2016 · 28 revisions

####TODO Nick

  • code

    • BoardNode
      • create children
      • comment
    • SearchTree
      • convert pseudocode
      • comment
  • review

    • Class MoveList
      • math
    • makeMove, makeMoveEP, makeMoveCastle in Class Board
      • math
  • breakdown

    • search eval
      • iterative deepening (OPTIONAL)
      • transposition tables (OPTIONAL)
        • zobrist keys (OPTIONAL)

####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
    • timer. (other search options?)
    • bestMove. returns the best move available
  • DEBUG
    • perft in player class. use console
    • games on arena
  • Report

####NOTES

  • UCI not case-sensitive
  • 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

#####Nick TODO DONE

  • 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)
      • heuristic function
Clone this wiki locally