Saturday, July 4, 2015

ChessKISS 1.7c, finally!

After three years I found some motivation to recheck the sources and try to play a bit, the version and date is not a coincidence at all.

These are the main changes:
  • Optimized TPiece.SetTo() and TPiece.GetColorPiece()
  • TMove, removed GetIndex(), optimized SetTo()
  • TMoveGenerator.GenerateCastlingMoves() fixed
  • TEvaluation, fixed some issues with outpost and corners
  • TBoard.States optimized a bit, no need for Index
  • New overloaded TUtils.Switch()
  • New TScore.Null()
  • TPiece.SetIndex() improved
  • New TMove.SetFrom()/SetFromTo()
  • TBoard, backup()/restore() improved, new PieceValue()
  • TBoard.IsPinned() removed
  • Now uses polyglot book 
  • TChessboard.CanTraverse() uses faster approach to get the offset
  • TMoveGenerator.GeneratePawnCaptures() and MovesToSquare() improved a bit
  • TSearch.AlphaBeta() improved a bit
  • Improved a bit the performance in history 
  • Trying to speedup the moving generation with new silly ideas
  • Now killers are part of the stack in search 
  • History is updated when the cache is hit (makes sense)
  • New see() approach, let's see, also now return zero when move is castling 

Found binaries and sources at OneDrive